SQL 脚本怎么写 以及多个实例问题 看帖后再复制粘贴好么?
一台服务器上 有 实例 A B C 他们都有同一个数据库 D 那么
create login demouser
with password='demo',default_database= D--创建登陆帐号,
go
create user demo2user for login demouser --创建用户,创建角色
我这样写是不是 等于创建 demouser 一个这个登录账号 能同时都应用于 A B C 的 D 库呢么? 如果不是要怎么写呢?
还有这样的句子只能在打开数据库的时候里面写么?
能不能写成脚本,就是想记事本文件 保存比如什么 EXE 什么的,执行下就行了,谢谢。
[解决办法]
我这样写是不是 等于创建 demouser 一个这个登录账号 能同时都应用于 A B C 的 D 库呢么? 如果不是要怎么写呢?
不能 你在哪个实例下执行的 才能访问对应实例下的数据库D
[解决办法]
可以在数据库中执行,但是每个实例之间的用户是不通用的。
如果存在记事本文件中,可以用程序调用,然后执行程序,
但是这个程序不同实例的连接字符串决定脚本执行的实例。
[解决办法]
新建一个文件夹叫维护 所有服务器--里面放置撒个文件--更新所有服务器.bat--codeToExecute.txt--result.txt第一个文件的内容是:echo offecho 是否要执行以下脚本?pauseecho 开始执行下列脚本del .\result.txtrem ---------- 实例1 ----------echo 实例1>>.\result.txtecho 实例1osql -Sip地址 -Usa -P"密码" -i".\codeToExecute.txt" -w256 >>.\result.txtrem ---------- 实例2 ----------echo 实例2>>.\result.txtecho 实例2osql -Sip地址 -Usa -P"密码" -i".\codeToExecute.txt" -w256 >>.\result.txtpauseexit第二个文件的内容是你像执行的sql语句..如: select* form dba.dbo.tbnamebackup database dba to disk='c:\dba.bak'exec 过程名称'参数'第三个文件result.txt 什么也不用做他是存放你要的结果..这样你就用一条语句执行了 100个服务器上 执行了同一条语句...也可以在同一个服务器上N多个实例上一次执行所有的语句
[解决办法]
上面是osql 其功能虽然没有cmdsql强大..但是应该也能满足你的需求...维护多个服务器的时候..用得到...这只是一思路..你可以直接看cmdsql 用批处理做成脚本...也能完成同样的功能!