SQL Server2008命令行工具sqlcmd新建登录名示例

作者:袖梨 2022-06-29

新建登录名.bat:
 程序代码

 代码如下 复制代码
@echo off
sqlcmd -d test -Q "exec sp_addlogin 'dnawo','a123456'"
sqlcmd -d test -Q "exec sp_adduser 'dnawo'"
sqlcmd -d test -Q "exec sp_addrolemember 'db_owner','dnawo'"

删除登录名.bat:
 程序代码

 代码如下 复制代码
@echo off
sqlcmd -d test -Q "exec sp_droprolemember 'db_owner','dnawo'"
sqlcmd -d test -Q "exec sp_dropuser 'dnawo'"
sqlcmd -d test -Q "exec sp_droplogin 'dnawo'"

说明:sqlcmd默认使用Windows帐户登录数据库默认实例,若要用指定帐户登录命名实例,可以使用-S、-U、-P等参数进行设置。

 代码如下 复制代码

@echo off
if %2 equ adduser (
    sqlcmd -d %1 -Q "exec sp_addlogin '%3','%4'"
    sqlcmd -d %1 -Q "exec sp_adduser '%3'"
    sqlcmd -d %1 -Q "exec sp_addrolemember 'db_owner','%3'"
) else (
    sqlcmd -d %1 -Q "exec sp_droprolemember 'db_owner','%3'"
    sqlcmd -d %1 -Q "exec sp_dropuser '%3'"
    sqlcmd -d %1 -Q "exec sp_droplogin '%3'"
)
rem sqluser.bat test adduser dnawo a123456
rem sqluser.bat test dropuser dnawo

用法: Sqlcmd            [-U 登录 ID]          [-P 密码]

 [-S 服务器]            [-H 主机名]          [-E 可信连接]

 [-d 使用数据库名称] [-l 登录超时值]     [-t 查询超时值]

 [-h 标题]           [-s 列分隔符]      [-w 屏幕宽度]

 [-a 数据包大小]        [-e 回显输入]        [-I 允许带引号的标识符]

 [-c 命令结束]            [-L[c] 列出服务器[清除输出]]

 [-q "命令行查询"]   [-Q "命令行查询" 并退出]

 [-m 错误级别]        [-V 严重级别]     [-W 删除尾随空格]

 [-u unicode 输出]    [-r[0|1] 发送到 stderr 的消息]

 [-i 输入文件]         [-o 输出文件]        [-z 新密码]

 [-f <代码页> | i:<代码页>[,o:<代码页>]] [-Z 新建密码并退出]

 [-k[1|2] 删除[替换]控制字符]

 [-y 可变长度类型显示宽度]

 [-Y 固定长度类型显示宽度]

 [-p[1] 打印统计信息[冒号格式]]

 [-R 使用客户端区域设置]

 [-b 出错时中止批处理]

 [-v 变量 = "值"...] [-A 专用管理连接]

 [-X[1] 禁用命令、启动脚本、环境变量[并退出]]

 [-x 禁用变量情况]

 [-? 显示语法摘要]

相关文章

精彩推荐