Answers:
在命令提示符下,启动sqlcmd
:
sqlcmd -S <server> -i C:\<your file here>.sql
只需替换<server>
为SQL框的位置和<your file here>
脚本的名称即可。别忘了,如果您使用的是SQL实例,则语法为:
sqlcmd -S <server>\instance.
这是可以传递sqlcmd的所有参数的列表:
Sqlcmd [-U login id] [-P password]
[-S server] [-H hostname] [-E trusted connection]
[-d use database name] [-l login timeout] [-t query timeout]
[-h headers] [-s colseparator] [-w screen width]
[-a packetsize] [-e echo input] [-I Enable Quoted Identifiers]
[-c cmdend] [-L[c] list servers[clean output]]
[-q "cmdline query"] [-Q "cmdline query" and exit]
[-m errorlevel] [-V severitylevel] [-W remove trailing spaces]
[-u unicode output] [-r[0|1] msgs to stderr]
[-i inputfile] [-o outputfile] [-z new password]
[-f | i:[,o:]] [-Z new password and exit]
[-k[1|2] remove[replace] control characters]
[-y variable length type display width]
[-Y fixed length type display width]
[-p[1] print statistics[colon format]]
[-R use client regional setting]
[-b On error batch abort]
[-v var = "value"...] [-A dedicated admin connection]
[-X[1] disable commands, startup script, environment variables [and exit]]
[-x disable variable substitution]
[-? show syntax summary]
我遇到了完全相同的问题,经过一段时间的努力,终于找到了将-a
参数设置为的解决方案,sqlcmd
以更改其默认数据包大小:
sqlcmd -S [servername] -d [databasename] -i [scriptfilename] -a 32767
sqlcmd -S <Servername> -U <Username> -P <password> -d <Databasename> -i <filename>
以管理员权限执行命令提示符
将目录更改为.sql文件的存储位置
执行以下命令
sqlcmd -S 'your server name' -U 'user name of server' -P 'password of server' -d 'db name'-i script.sql
我正在使用MSSQL Express 2014,但没有一种解决方案适合我。他们都只是崩溃了SQL。因为我只需要使用许多简单的插入语句来运行一个脚本,所以我通过编写一个小的控制台应用程序来解决这个问题,这是最后的选择:
class Program
{
static void Main(string[] args)
{
RunScript();
}
private static void RunScript()
{
My_DataEntities db = new My_DataEntities();
string line;
System.IO.StreamReader file =
new System.IO.StreamReader("c:\\ukpostcodesmssql.sql");
while ((line = file.ReadLine()) != null)
{
db.Database.ExecuteSqlCommand(line);
}
file.Close();
}
}
使用osql在命令行中运行它,请参见此处:
http://metrix.fcny.org/wiki/display/dev/How+to+execute+a+.SQL+script+using+OSQL
sqlcmd
替换osql
。
您的问题与此类似
您可以将文件/脚本另存为.txt或.sql,然后从Sql Server Management Studio中运行它(我认为菜单为“打开/查询”,然后只需在SSMS界面中运行查询)即可。您可能必须更新第一行,指示要在本地计算机上创建或选择的数据库。
如果您必须经常执行此数据传输,则可以进行复制。根据您的需求,可以进行快照复制。如果必须在两个服务器之间同步数据,则可以采用更复杂的模型,例如合并复制。
编辑:我没有注意到您有链接到文件大小的SSMS问题。然后,您可以按照其他人的建议使用命令行,快照复制(在主服务器上发布,在本地服务器上订阅,复制然后取消订阅),甚至备份/还原
INSERT INTO table_name (text) VALUES ('some text bla bla 'bla' text')
。我的报价有误。因此,我必须使用(哪个参数)来处理此错误?谢谢