sqlServer低版本数据库不能直接还原或附加sql高版本数据库或备份文件,我们常用DTS互导的方式,如果不同版本数据库不可访问,可以使用高版本数据库的DTS导出整个库的相应低版本建库脚本与数据,然后放在低版本数据库中去执行,常见如:我们库数据库一般是sqlServer2008+,有的客户使用的是2005版本的数据库,这时我们就提供了2005版本的建库脚本供用户自己在机器上执行,但由于文件过大(可以分成几个文件)会导致执行过程中内存不够的情形,对于此类种种情况我们可以使用命令行方式导入建表脚本与数据,sql2005我们可以使用可以
使用osql 语句来处理。osql语法为:
osql -S 服务器 -U 用户名 -P 密码 -i sql路径
osql 是一个 Microsoft windows 32 命令提示符工具,您可以使用它运行 Transact-sql 语句和脚本文件!
如何使用 Osql?
在开始->运行 中键入cmd,使用 "Osql -?"命令,就可以显示osql命令行的帮助。 注意:osql 工具的选项列表是区分大小的,在使用时注意。
**1、使用osql执行单个 Transact-sql 语句 **
在键入cmd与下面这一个类似的命令:
osql -E -q "Transact-sql statement"
例如: sql -E -q "use myDB select * from mytable"
其中 -E 表示使用 Microsoft windows NT 身份验证。
也可以使用sa账户,具体可以看看上面的命令!
而-q 表示运行 Transact-sql 语句,但是在查询结束时不退出 osql。
如要运行 Transact-sql 语句并退出 osql,请使用 -Q 参数来代替 -q。
**2、使用osql执行一个大脚本文件 **
将该工具指向一个脚本文件,步骤:
a.创建一个包含一批 Transact-sql 语句的脚本文件(如 myfile.sql)。
b.打开命令提示符,键入与下面类似的一个命令,然后按 ENTER 键:
osql -E -i input_file
其中input_file 是脚本文件及其完整路径。例如,如果脚本文件 myfile.sql 在 C:\users文件夹中,
请将参数 myfile 替换为 C:\users\myfile.sql。
该脚本文件的运行结果将出现在控制台窗口中。
如果您想将运行结果定向到一个文件,请向上述命令中添加 -o output_file 参数。例如:
osql -E -i input_file -o output_file
其中output_file 是输出文件及其完整路径。
如果你觉得太麻烦了,可以使用批处理,将常用的一些命令写在bat文件中,需要的时候替换一些参数,点击文件执行即可,此时把需要执行的sql文件放在新建的一个批处理文件中,扩展名为.bat后运行即可。
如果是sql2008数据库,则可以使用sqlcmd 来执行大文件sql脚本。sqlcmd命令语法 为: sqlcmd -S . -U sa -P 123 -d test -i data.sql
参数说明:-S 服务器地址 -U 用户名 -P 密码 -d 数据库名称 -i 脚本文件路径
本地服务器地址可以写 . 比较轻松,也可写(local)或者IP地址 要使用sqlcmd命令,需要在cmd命令行模式,把路径切换到:C:\Program files\Microsoft sql Server\100\Tools\Binn后执行。具体路径视自己sql安装目录。
以上只是一些参考,具体的方式会很多。
总结以上是内存溢出为你收集整理的SqlServer低版本数据库附加Sql高版本数据库或备份文件全部内容,希望文章能够帮你解决SqlServer低版本数据库附加Sql高版本数据库或备份文件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)