⑴ “sqlserver”怎样直接执行sql文件
一、客户的数据库数据被篡改,利用Log Explorer工具根据日志生成的回滚脚本有200多M,不可能一下子扔到查询分析器里去执行,于是想是否SQL Server是否可以像Oracle那样直接执行.sql文件。讲过查资料,测试,发现可以在cmd窗口中执行如下命令执行Sql文件:
二、osql -S 127.0.0.1 -U sa -P sa -i d: est.sql;
三、简单说明:osql为SQL Server的命令,要在cmd中执行该命令,一般安装完SQL Server后该命令对应的路径会自动添加到系统环境变量中。 -S 表示要连接的数据库服务器 -U表示登录的用户ID,-P表示登录密码 -i表示要执行的脚本文件路径。
四、Apache ant提供了直接执行sql脚本文件的功能:
五、Java代码:
publicclassAntExecSql
{publicstaticvoidexecSqlFile(Stringurl,StringuserID,Stringpwd,StringsqlFile)
{
SQLExec2sqlExec=newSQLExec2();
//设置数据库参数
sqlExec.setDriver("com.microsoft.sqlserver.jdbc.SQLServerDriver");
sqlExec.setUrl(url);
sqlExec.setUserid(userID);
sqlExec.setPassword(pwd);
Filefile=newFile(sqlFile);
sqlExec.setSrc(file);
sqlExec.setPrint(true);//设置是否输出
//输出到文件sql.out中;不设置该属性,默认输出到控制台
//sqlExec.setOutput(newFile("d:/script/sql.out"));
sqlExec.setProject(newProject());//要指定这个属性,不然会出错
sqlExec.execute();
}
publicstaticvoidmain(String[]args){
Stringfile1="C:/1.sql";
Stringurl="jdbc:sqlserver://localhost:1433;database=master";
Stringusername="sa";
Stringpwd="sa@jiaj";
try{
AntExecSql.execSqlFile(url,username,pwd,file1);
}catch(Exceptionex){
ex.printStackTrace();
}
}
}
⑵ sqlserver怎么执行大文件sql语句
sqlserver在运行时默认是没有内存占用限制的,除非你设置了sqlserver服务器的内存使用数。在企业管理器服务器的节点处右击,选择”属性“,然后查看”内存“选项卡,将内存占用设为无限制。同时,如果文件很大,需要足够的日志来记录,数据库的日志文件大小可以暂时设置为无上限,之后再进行数据库收缩。
如果上面的方法不奏效,那就把你的sql文件进行分割吧,分割成比较小的几个部分,依次执行绝对没问题
:)
⑶ sqlserver存储过程怎么调试
最近在做vb项目的时候,用到了存储过程的调试,现在总结一下发现单步调试存储过程有以下2种方法:
1.这种方法自己已经做过,是可以的,如下:
a.如果目标数据库存在存储过程,右击该存储过程-修改,打开存储过程,并在需要的地方设置断点。(如果没有自定义存储过程,则需要在Sql Server 2012数据库中创建存储过程,完成后在里面设置断点);
b.另外开启一个新建查询窗口,写入调用代码:例如 exec BillManageInputProc '主单1','0111111','0111112','121','legend','2014-09-24','001','2014-09-24','1','市场部','0' ,单击 调试按钮 启动存储过程的调试;
c.单击 F 11 进行逐句调试。
2.在vs2010调试存储过程步骤如下:
首先,打开vs,点击 视图-->服务器资源管理器
http://www.cnblogs.com/caishiquan/p/4050237.html
⑷ 如何用SQLserver批量打开或运行脚本
使用SQLCMD在SQLServer上执行多个脚本
第一步:先创建一个在C盘下的文件夹:C:\Scripts。然后把脚本存放到这个文件夹中:
脚本1:CREATE_DB.sql
/* SCRIPT: CREATE_DB.sql */
/* 创建TestDB数据库 */
-- This is the main caller for each script
SET NOCOUNT ON
GO
PRINT '开始创建TestDB数据库'
IF EXISTS (SELECT 1 FROM SYS.DATABASES WHERE NAME = 'TestDB')
DROP DATABASE TestDB
GO
CREATE DATABASE TestDB
GO
:On Error exit
:r c:\Scripts\CREATE_TABLES.sql
:r c:\Scripts\TABLE_INSERTS.sql
:r c:\Scripts\CREATE_INDEXES.sql
:r c:\Scripts\CREATE_PROCEDURES.sql
PRINT '创建完毕'
GO
⑸ sqlserver怎么执行.sql文件
可以在cmd窗口中执行如下命令执行Sql文件:
osql
-S
127.0.0.1
-U
sa
-P
sa
-i
d:\test.sql
简单说明:osql为SQL
Server的命令,要在cmd中执行该命令,一般安装完SQL
Server后该命令对应的路径会自动添加到
系统环境
变量中。
-S
表示要连接的
数据库服务器
-U表示登录的用户ID,-P表示登录密码
-i表示要执行的
脚本文件
路径。
⑹ sqlserver 执行一段脚本报错,逐句执行就能成功,怎么回事
update 前那一句 增加字段的 请comiit;
⑺ sqlserver查看当前运行哪些sql 语句
有二种方式来查看正在执行的SQL语句
使用SQL自带的SQL Server Profiler,以可视化界面的方式来查看。
从开始=》所有程序=》Microsoft SQL Server 2008=》性能工具打开Profiler工具,也可以打开SQL Server Management Studio=》工具=》SQL Server Profiler。
然后选择文件=》新建=》跟踪打开一个连接窗口,选择将要跟踪的服务器实例然后连接,并打开“跟踪属性”对话框,点运行即可看到正在执行的SQL语句。
使用SQL语句来查看正在运行的语句,如下
SELECT [Spid] = session_id ,
ecid ,
[Database] = DB_NAME(sp.dbid) ,
[User] = nt_username ,
[Status] = er.status ,
[Wait] = wait_type ,
[Indivial Query] = SUBSTRING(qt.text,
er.statement_start_offset / 2,
( CASE WHEN er.statement_end_offset = -1
THEN LEN(CONVERT(NVARCHAR(MAX), qt.text))
* 2
ELSE er.statement_end_offset
END - er.statement_start_offset )
/ 2) ,
[Parent Query] = qt.text ,
Program = program_name ,
hostname ,
nt_domain ,
start_time
FROM sys.dm_exec_requests er
INNER JOIN sys.sysprocesses sp ON er.session_id = sp.spid
CROSS APPLY sys.dm_exec_sql_text(er.sql_handle) AS qt
WHERE session_id > 50 -- Ignore system spids.
AND session_id NOT IN ( @@SPID ) -- Ignore this current statement.
ORDER BY 1 ,
⑻ jdbc连接数据库sqlserver后怎么执行sql语句
首先确保SQLSERVER服务正在运行,并可以允许远程访问连接
然后按如下步骤进行连接
1.安装JDBC驱动
1)下载JDBC驱动
http://www.microsoft.com/zh-cn/download/details.aspx?id=11774
2)执行sqljdbc_4.0.2206.100_chs.exe解压驱动文件
3)拷贝以下目录中的sqljdbc_auth.dll到Windows的System32目录。对x64的机子,x64的dll拷到C:\Windows\System32,x86的dll拷到C:\Windows\SysWOW64目录。
Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0\chs\auth\
2.在Java程序中连接SQL Server
classpath中加上安装好的SQL Server jdbc jar包
Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0\chs\sqljdbc4.jar
连接SQL Server的JDBC代码
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url = "jdbc:sqlserver://localhost:54364;databaseName=master;IntegratedSecurity=True";
Connection con = DriverManager.getConnection(url);
在SQL Server Browser服务开启的情况下也可以通过服务名连接
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url = "jdbc:sqlserver://localhost\\SQLEXPRESS;databaseName=master;IntegratedSecurity=True";
Connection con = DriverManager.getConnection(url);
3.身份验证模式
SQL Server默认使用Windows身份验证模式,这也是官方推荐的模式,安全性更高。上面的连接例子就是采用的Windows认证。如果要使用混合认证模式,需要下载SQL Server Management Studio,并通过SQL Server Management Studio修改认证模式为混合认证模式。
SQL Server Management Studio的下载地址
http://www.microsoft.com/zh-cn/download/details.aspx?id=8961
修改SQL Server认证模式的方法
http://technet.microsoft.com/zh-cn/library/ms188670(v=sql.105).aspx
混合认证模式下,可以由数据库进行认证,连接时需要提供用户名和密码
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url = "jdbc:sqlserver://localhost:54364;databaseName=master";
Connection con = DriverManager.getConnection(url,"user","password");
⑼ sqlserver怎么执行.sql文件
可以在cmd窗口中执行如下命令执行Sql文件:
osql -S 127.0.0.1 -U sa -P sa -i d:\test.sql
简单说明:osql为SQL Server的命令,要在cmd中执行该命令,一般安装完SQL
Server后该命令对应的路径会自动添加到系统环境变量中。 -S 表示要连接的数据库服务器 -U表示登录的用户ID,-P表示登录密码
-i表示要执行的脚本文件路径。
⑽ sqlserver怎么循环
打开sql server management studio管理工具,点击【新建查询】菜单按钮,就会出现一个空白的窗口,这个窗口是用来写sql语句的,本文所有的演示sql语句都在这个窗口完成