SQL中迁移sql用户及密码脚本

SQL中迁移sql用户及密码脚本

 

编写人:CC阿爸

2014-6-20

在日常SQL数据库的操作中,常常需要迁移数据库或重装服务器,这时候,一些之前建立的login账户,必须重新建立,以下可以通过脚本,将其导出,在重装或移植时,可方便能过执行脚本来生成,不用再手动一个个建立。大大提高操作效率。

select ‘create login [‘ + p.name + ‘] ‘ +

case when p.type in(‘U‘,‘G‘) then ‘from windows ‘ else ‘‘ end +‘with ‘ +

case when p.type = ‘S‘ then ‘password = ‘ + master.sys.fn_varbintohexstr(l.password_hash) +

‘ hashed, ‘ + ‘sid = ‘ + master.sys.fn_varbintohexstr(l.sid) + ‘, check_expiration = ‘ +

case when l.is_expiration_checked > 0 then ‘ON, ‘ else ‘OFF, ‘ end + ‘check_policy = ‘ +

case when l.is_policy_checked > 0 then ‘ON, ‘ else ‘OFF, ‘ end +

case when l.credential_id > 0 then ‘credential = ‘ + c.name + ‘, ‘ else ‘‘ end

else ‘‘

end +

‘default_database = ‘ + p.default_database_name +

case when len(p.default_language_name) > 0

then ‘, default_language = ‘ + p.default_language_name else ‘‘ end

from sys.server_principals p

left join sys.sql_logins l on p.principal_id = l.principal_id

left join sys.credentials c on l.credential_id = c.credential_id

where p.type in(‘S‘,‘U‘,‘G‘) and p.name <> ‘sa‘

SQL中迁移sql用户及密码脚本

时间: 2024-12-16 13:09:51

SQL中迁移sql用户及密码脚本的相关文章

ORACLE PL/SQL 实例精解之第三章 PL/SQL中的SQL

3.1 在PL/SQL中使用DML 在PL/SQL语块中,两种变量赋值a. := 初始化.b. select into语法,PL/SQL语块的声明部分被声明的变量,后期可以使用选择语句进行赋值. 3.1.1变量初始化时使用select into语法 select A INTO V_A INSERT INTO xxx(表)( XA)values (V_A) 3.1.2 在pl/sql语句块中使用DML a.使用oracle序列 CURR b.获取和递增序列值 CURRVAL 返回序列的当前值 NE

linux如何通过脚本来修改用户的密码?脚本自动化修改用户密码?

需求描述: linux环境中在创建用户的时候,涉及到修改用户的密码,一般是通过passwd命令进行修改,需要多次的确认,这里考虑通过一条命令直接对密码进行修改 不需要进行交互的方式.在此记录. 操作过程: 1.通过echo命令结合passwd命令来实现 [[email protected] ~]# echo "mytest" | passwd --stdin mytest Changing password for user mytest. passwd: all authentica

关于SQL Sever 2005默认用户以及密码的问题

软件需要的不仅仅是华丽的“外表”-UI,更应该有一个强大的“内心”-数据库. 虽说05版的sqlsever数据库有些不“与时俱进”了,但是对于学术研究来说这并没有什么关系 . 早就知道 在windows下安装软件 只是单纯的点“下一步” 有时候就是硬伤.比如安装数据库的过程. [ps:为什么要安装那么老的数据库 是因为机子太老了.而且硬盘也有点小,08的数据库 不是不想安装,而是安装之后根本就跑不动.] 用Navicat for sqlsever来创建数据库的表 我觉得应该可以达到“事半功倍”的

mybatis动态SQL中的sql片段

在mybatis中通过使用SQL片段可以提高代码的重用性,如下情景: 1.创建动态SQL <sql id="sql_count">select count(*)</sql> 2.使用 <select id="selectListCountByParam" parameterType="map" resultType="String"> <include refid="sql_

oracle杀用户建用户改密码脚本

# ******************************** # * dba_oracle_awr.sh # ******************************** # Usage: dba_oracle_awr.sh -s [instance_name] # -f [from time] # -t [to time] # -p [report type, html or text] # -h [oracle home] # -n [tns admin] # # time fo

linux中忘记mysql用户root密码解决方案

1.vim /etc/my.cnf[mysqld]skip-grant-tables ##追加此行,跳过权限表, 2.重启mysqlsystemctl restart mysqld 3.mysql 登陆mysqlmysql> use mysql;mysql> UPDATE user SET Password = password ( 'zha123456' ) WHERE User = 'root' ;mysql> flush privileges ; mysql> quit 4.

pl/sql developer中写SQL时出现ORA-06550和PLS-00553

[现象]在pl/sql中写SQL时,出现一些问题.ORA-06550:乱码PLS-00553:乱码ORA-06550:乱码PL/SQL:Compilation unit analysis terminated [原因]由于Oracle的系统配置文件中语言发生变化,或者系统配置文件发生变化,pl/sql developer尚未进行更新所致.[本例解决方法]由于在oracle用户下添加配置项,尚未更新到pl/sql developer.执行以下指令su - oraclesource ~/.bash_

SQL之经典SQL语句大全

经典SQL语句大全 一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'--- 开始 备份BACKUP DATABASE pubs TO testBack 4.说明:

linux中手动添加用户(图解)

1.在/etc/group 中添加组,如果用户有附加组,则在附加组后添加上用户的名称 2.在/etc/passwd 中初始化添加用户和对应的组ID等 3.在/etc/shadow 中添加用户的一些设置 4.将/etc/skel/ 目录下文件拷贝到 home/用户目录下 5.修改/home/用户目录的所属者和所属组为此用户,及其组 6.修改/home/用户目录的g o 权限为----- 如果在shadow中没有给用户添加密码,则此用户无法登陆,但是可以通过su命令登陆. 暂未上图,需要图者,在下留