返回顶部
首页 > 资讯 > 数据库 >SQL Server备份账号和密码
  • 937
分享到

SQL Server备份账号和密码

2024-04-02 19:04:59 937人浏览 泡泡鱼
摘要

SQL Server通过任务脚本导出只有创建用户的语句,无密码这个在迁移过程很痛苦.所以官方网站提供一个存储过程sp_help_revlogin请送导出账号和密码. 找到想要的账号在B(恢复机)恢复即可

SQL Server通过任务脚本导出只有创建用户的语句,无密码这个在迁移过程很痛苦.所以官方网站提供一个存储过程sp_help_revlogin请送导出账号和密码. 找到想要的账号在B(恢复机)恢复即可

  • 打开

USE master
Go
IF OBJECT_ID ('sp_hexadecimal') IS NOT NULL
  DROP PROCEDURE sp_hexadecimal
GO
CREATE PROCEDURE sp_hexadecimal
    @binvalue varbinary(256),
    @hexvalue varchar (514) OUTPUT
AS
DECLARE @charvalue varchar (514)
DECLARE @i int
DECLARE @length int
DECLARE @hexstring char(16)
SELECT @charvalue = '0x'
SELECT @i = 1
SELECT @length = DATALENGTH (@binvalue)
SELECT @hexstring = '0123456789ABCDEF'
WHILE (@i <= @length)
BEGIN
  DECLARE @tempint int
  DECLARE @firstint int
  DECLARE @secondint int
  SELECT @tempint = CONVERT(int, SUBSTRING(@binvalue,@i,1))
  SELECT @firstint = FLOOR(@tempint/16)
  SELECT @secondint = @tempint - (@firstint*16)
  SELECT @charvalue = @charvalue +
    SUBSTRING(@hexstring, @firstint+1, 1) +
    SUBSTRING(@hexstring, @secondint+1, 1)
  SELECT @i = @i + 1
END

SELECT @hexvalue = @charvalue
GO

IF OBJECT_ID ('sp_help_revlogin') IS NOT NULL
  DROP PROCEDURE sp_help_revlogin
GO
CREATE PROCEDURE sp_help_revlogin @login_name sysname = NULL AS
DECLARE @name sysname
DECLARE @type varchar (1)
DECLARE @hasaccess int
DECLARE @denylogin int
DECLARE @is_disabled int
DECLARE @PWD_varbinary  varbinary (256)
DECLARE @PWD_string  varchar (514)
DECLARE @SID_varbinary varbinary (85)
DECLARE @SID_string varchar (514)
DECLARE @tmpstr  varchar (1024)
DECLARE @is_policy_checked varchar (3)
DECLARE @is_expiration_checked varchar (3)

DECLARE @defaultdb sysname

IF (@login_name IS NULL)
  DECLARE login_curs CURSOR FOR

      SELECT p.sid, p.name, p.type, p.is_disabled, p.default_database_name, l.hasaccess, l.denylogin FROM 
sys.server_principals p LEFT JOIN sys.syslogins l
      ON ( l.name = p.name ) WHERE p.type IN ( 'S', 'G', 'U' ) AND p.name <> 'sa'
ELSE
  DECLARE login_curs CURSOR FOR

      SELECT p.sid, p.name, p.type, p.is_disabled, p.default_database_name, l.hasaccess, l.denylogin FROM 
sys.server_principals p LEFT JOIN sys.syslogins l
      ON ( l.name = p.name ) WHERE p.type IN ( 'S', 'G', 'U' ) AND p.name = @login_name
OPEN login_curs

FETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @type, @is_disabled, @defaultdb, @hasaccess, @denylogin
IF (@@fetch_status = -1)
BEGIN
  PRINT 'No login(s) found.'
  CLOSE login_curs
  DEALLOCATE login_curs
  RETURN -1
END
SET @tmpstr = ''
PRINT @tmpstr
PRINT ''
WHILE (@@fetch_status <> -1)
BEGIN
  IF (@@fetch_status <> -2)
  BEGIN
    PRINT ''
    SET @tmpstr = '-- Login: ' + @name
    PRINT @tmpstr
    IF (@type IN ( 'G', 'U'))
    BEGIN -- NT authenticated account/group

      SET @tmpstr = 'CREATE LOGIN ' + QUOTENAME( @name ) + ' FROM windows WITH DEFAULT_DATABASE = [' + @defaultdb + ']'
    END
    ELSE BEGIN -- sql Server authentication
        -- obtain passWord and sid
            SET @PWD_varbinary = CAST( LOGINPROPERTY( @name, 'PasswordHash' ) AS varbinary (256) )
        EXEC sp_hexadecimal @PWD_varbinary, @PWD_string OUT
        EXEC sp_hexadecimal @SID_varbinary,@SID_string OUT

        -- obtain password policy state
        SELECT @is_policy_checked = CASE is_policy_checked WHEN 1 THEN 'ON' WHEN 0 THEN 'OFF' ELSE NULL END FROM sys.sql_logins WHERE name = @name
        SELECT @is_expiration_checked = CASE is_expiration_checked WHEN 1 THEN 'ON' WHEN 0 THEN 'OFF' ELSE NULL END FROM sys.sql_logins WHERE name = @name

            SET @tmpstr = 'CREATE LOGIN ' + QUOTENAME( @name ) + ' WITH PASSWORD = ' + @PWD_string + ' HASHED, SID = ' + @SID_string + ', DEFAULT_DATABASE = [' + @defaultdb + ']'

        IF ( @is_policy_checked IS NOT NULL )
        BEGIN
          SET @tmpstr = @tmpstr + ', CHECK_POLICY = ' + @is_policy_checked
        END
        IF ( @is_expiration_checked IS NOT NULL )
        BEGIN
          SET @tmpstr = @tmpstr + ', CHECK_EXPIRATION = ' + @is_expiration_checked
        END
    END
    IF (@denylogin = 1)
    BEGIN -- login is denied access
      SET @tmpstr = @tmpstr + '; DENY CONNECT SQL TO ' + QUOTENAME( @name )
    END
    ELSE IF (@hasaccess = 0)
    BEGIN -- login exists but does not have access
      SET @tmpstr = @tmpstr + '; REVOKE CONNECT SQL TO ' + QUOTENAME( @name )
    END
    IF (@is_disabled = 1)
    BEGIN -- login is disabled
      SET @tmpstr = @tmpstr + '; ALTER LOGIN ' + QUOTENAME( @name ) + ' DISABLE'
    END
    PRINT @tmpstr
  END

  FETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @type, @is_disabled, @defaultdb, @hasaccess, @denylogin
   END
CLOSE login_curs
DEALLOCATE login_curs
RETURN 0
GO

创建完成后执行

EXEC sp_help_revlogin

即可导出所有账号密码

您可能感兴趣的文档:

--结束END--

本文标题: SQL Server备份账号和密码

本文链接: https://lsjlt.com/news/44819.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • SQL Server备份账号和密码
    SQL Server通过任务脚本导出只有创建用户的语句,无密码这个在迁移过程很痛苦.所以官方网站提供一个存储过程sp_help_revlogin请送导出账号和密码. 找到想要的账号在B(恢复机)恢复即可 ...
    99+
    2024-04-02
  • SQL Server备份和还原
        对于生产数据来讲,数据的安全性是至关重要的,任何数据的丢失都可能产生严重的的后果。而备份作为数据的副本,可以有效的保护和恢复数据数据丢失的原因    ...
    99+
    2024-04-02
  • SQL Server忘记sa账号密码重新添加新管理账号
    一、停止数据库服务 打开sqlserver自带的配置管理器,停止数据库服务。 二、打开cmd窗口,执行命令(以管理员运行) 以单用户模式启动sqlserver,具体方法是以管理员方...
    99+
    2024-04-02
  • NBU 备份 SQL Server
    添加SA密码在SQL 服务器上打开Netbackup MS SQL Client添加SA密码生成备份脚本在SQL 服务器上打开Netbackup MS SQL Client选择Backup SQL Serv...
    99+
    2024-04-02
  • SQL Server查询备份日期和备份设备名
    查询备份日期和备份设备名,用于检查某日的备份是否执行。SELECT b.backup_finish_date,a.physical_device_name FROM dbo.ba...
    99+
    2024-04-02
  • SQL Server怎么还原完整备份和差异备份
    本篇内容主要讲解“SQL Server怎么还原完整备份和差异备份”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SQL Server怎么还原完...
    99+
    2024-04-02
  • SQL SERVER 数据库备份代码实例
    本文实例为大家分享SQL SERVER数据库备份的具体代码,供大家参考,具体内容如下 SET NOCOUNT ON DECLARE @d varchar(8) DECLARE @Ba...
    99+
    2024-04-02
  • SQL server数据库的备份和还原
    SQL server的备份有如下三种:1、完整备份:完整备份包括对整个数据库、部分事务日志、数据库结构和文件结构的备份。它代表的是备份完成时刻的数据库。是所有备份类型的基础。 2、差异备份:是指对上一次完...
    99+
    2024-04-02
  • SQL Server还原完整备份和差异备份的操作过程
    1.首先右键数据库,点击还原数据库: 然后会打开还原数据库窗口,如图所示: 首先 "源" 选择设备,并且选择到完整备份的数据库备份文件然后在 "目标" 数据库可直接填写还原以后...
    99+
    2024-04-02
  • SQL Server还原完整备份和差异备份的操作过程
    1.首先右键数据库,点击还原数据库: 然后会打开还原数据库窗口,如图所示: 首先 "源" 选择设备,并且选择到完整备份的数据库备份文件然后在 "目标...
    99+
    2024-04-02
  • sql server数据库备份语句
    DECLARE @strPath NVARCHAR(200)set @strPath = convert(NVARCHAR(19),getd...
    99+
    2024-04-02
  • SQL Server之备份和还原系统数据库
         系统数据库是管理和维护SQL Server所必须的数据库,对服务器实例的运行至关重要。每次进行大量更新后必须备份多个系统数据库,包括master、model、msdb...
    99+
    2024-04-02
  • SQL server备份和还原机制是怎样的
    这篇文章将为大家详细讲解有关SQL server备份和还原机制是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。  SQL server备份和还原组件为...
    99+
    2024-04-02
  • 简单的SQL Server备份脚本代码怎么写
    本篇文章给大家分享的是有关简单的SQL Server备份脚本代码怎么写,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一般的情况下我们会选用SQ...
    99+
    2024-04-02
  • 阿里云服务器如何备案登录设备账号和密码
    登录设备账号和密码 登录设备账号和密码需要使用一个或多个阿里云账号进行注册。在注册时,需要填写用户名、密码、邮箱等信息。完成注册后,您可以登录到阿里云控制台,在控制台中找到“设备管理”页面,然后在页面中找到“登录设备”选项,点击进入设...
    99+
    2023-10-27
    阿里 账号 密码
  • 阿里云服务器如何备案设备登录账号和密码
    首先,在您购买阿里云服务器之前,一定要了解服务器的配置信息。了解配置信息可以帮助您更好地理解服务器的硬件和软件要求,从而更好地选择适合自己的服务器。同时,了解配置信息还可以帮助您避免服务器配置不合理的问题,减少服务器出现故障的风险。 接下...
    99+
    2023-10-28
    阿里 账号 密码
  • SQL Server [备份恢复]:完整备份,差异备份或事务日志备份,尾部日志备份
    事故背景:突然间数据库无缘无故损坏了,差异备份或事务日志备份在3点才会自动去做,那么如何将2点到2点40之间的数据恢复呢这就需要通过备份尾部日志进行恢复了。环境描述:   某公司装了一台SQL Server...
    99+
    2024-04-02
  • SpringBoot加密配置文件的SQL账号密码方式
    目录加密配置文件的SQL账号密码1、在Maven项目中引入依赖2、同时需要在application.yml配置文件中先配置密码3、可以在测试用例中4、最后在配置文件中放入加密后的字符...
    99+
    2024-04-02
  • SpringBoot如何加密配置文件的SQL账号密码
    这篇文章主要介绍了SpringBoot如何加密配置文件的SQL账号密码的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringBoot如何加密配置文件的SQL账号密码文章都会有所收获,下面我们一起来看看吧。1...
    99+
    2023-07-02
  • SQL Server数据库备份及上传
    接上篇,本篇介绍SQL Server2008的备份及上传。一、目标    备份数据库文件,保证生产系统数据安全。二、SQLBackupAndFTP使用SQLBacku...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作