SQLServer2005 安装及使用
安装前提条件: 1、安装IIS5或以上的版本,一般安装不成功都是由于此问题造成的 2、下载SQLServer2005的安装镜像文件,我用的是1.74G的iso文件
安装: 1、设置实例名? 1)默认2)自定义(如accp) ?不同的实例名,启动服务的名称有区别 ?net start mssqlserver (默认实例启动服务) ?net start mssql$accp (自定义实例名启动服务)
2、安装过程中注意选择混合登录模式,设置sa的密码,如"sa."
配置: 1、在控制面板 --> 管理工具 --> 服务中设置 SQLServer服务启动方式为手动 ?设置为手动的好处是:如果是自动,开机就会启动此服务, ?它占用一定的内存,设置为手动后,用到时再去手动启动服务 2、设置SQLServe的命令行工具sqlcmd ?1、在Editplus中加入SQL语法颜色支持 ??Editplu -- 工具--首选项 -- 文件 -- 设置和语法 ??1.1、添加文件类型?? 描述:SQL 文件扩展名:sql ??1.2、对应语法文件?? ...打开文件浏览,找到sql.stx ??1.3、点击应用 ?2、确保在运行中能直接打开Editplus ??运行:editplus ??如果不行,我的电脑-- 属性 -- 高级 -- 环境变量 -- 找到path -- 编辑 ??-- 在变量值中加入Editplus可执行文件路径,如 : ";E:/code/EditPlus3.01" ?? ?3、确保在运行中能直接运行sqlcmd ??如果不行,同样设置其环境变量path中加一条 ??如:";D:/Program Files/Microsoft SQL Server/90/Tools/Binn/" ?? ?4、添加环境变量sqlcmdeditor ,值为editplus ??这样就绑定了sqlcmd编辑器为editplus
?5、启用SQLServer2005服务 ??一般情况下服务开机自启动,如果手工启动,在运行中输入: ??net start mssqlserver?? (默认实例名安装) ??net start mssql$accp?(实例名为accp安装) ?6、好了,一切设置都可以了,下面正式使用sqlcmd
? 运行:sqlcmd -W? (参数使用详见sqlcmd实用工具.txt) ??1> (空着,直接回车) ??2> :ed ??将打开Editplus软件,写好语句后,Ctrl+S保存,Alt+F4退出 ??回到cmd窗口中就会执行在打开Editplus中输入的Sql语句,以go语句提交
??注意:1、为什么会空着一行呢?因为一开始打开窗口,没有输入任何语句, ????而打开的editplus语句默认会加上前一次的一个语句的。如果不 ????空一行,则打不开editplus,写了内容后,以后在1>后就直接可 ????以用:ed打开editplus了。 ???? 2、如果editplus是cmd窗口的:ed打开的,只有关闭editplus才能在 ????cmd中执行其它操作。 ?sqlcmd实用工具
?运行sqlcmd,进入sqlcmd环境 ?[sqlcmd参数] ?-U 用户名 ?-P 密码 ?-S 服务器 ?-d 数据库 ?-s 列分隔符 ?-i 输入文件 ?-W 删除查询结果中尾随空格 ?-q 查询语句 ?-Q 执行查询语句并退出 ?/? 查询所有参数
?[sqlcmd命令] ?sqlcmd命令是区别于T-SQL命令的,除了Go语句外其它命令要加":"符号
?:reset? ?清除语句缓冲,当不想执行已输入没执行的语句时用 ??例:执行到:reset时将忽略select * from tblTeacher的执行 ??1>select * from tblTeacher ??2>:reset ??1>: ?:listvar?显示所有设置的sqlcmd脚本变量 ??SQLCMDCOLSEP = " "??? ??SQLCMDCOLWIDTH = "0" ???指定用于输出的屏幕宽度。此选项设置 sqlcmd 脚本变量 SQLCMDCOLWIDTH。 ???该列宽必须是介于 8 和 65536 之间的数字。如果指定的列宽不在此范围内, ???则 sqlcmd 将生成错误消息。默认宽度为 80 个字符。 ???在输出行超出指定的列宽时,将转到下一行。 ??SQLCMDDBNAME = "" ??SQLCMDEDITOR = "notepad" ??SQLCMDERRORLEVEL = "0" ??SQLCMDHEADERS = "8" ??SQLCMDINI = "" ??SQLCMDLOGINTIMEOUT = "8" ??SQLCMDMAXFIXEDTYPEWIDTH = "0 ??SQLCMDMAXVARTYPEWIDTH = "256 ??SQLCMDPACKETSIZE = "4096" ??SQLCMDSERVER = "DBOY" ??SQLCMDSTATTIMEOUT = "0" ??SQLCMDUSER = "" ??SQLCMDWORKSTATION = "DBOY" ?:setvar varname value 设置sqlcmd脚本变量值? ??例:将sqlcmd编辑工具设置为记事本? ??1>:setvar sqlcmdeditor notepad ??2>go ?:ed? 启用文本编辑,打开文本编辑器,保存退出后执行其中的内容 ??例: :ed命令只能在第二句使用 ??1> ??2>:ed ??1> ?:r filename 执行其它sql文件内容? ??例:追加执行文件new.sql的内容 ??1>:r "d:/accp5.0/database/new.sql" ??1> ?!! command 执行windows命令? 如 !!notepad 将打开记事本 ??例:运行注册表 ??1>!!regedit ??2>go ?:quit?退出sqlcmd工具 ?:help?查看sqlcmd工具帮助
?
?[网上资料] ?1、你可以用SQLCMD执行交互式动作,如: ? C:/sqlcmd>sqlcmd ? 1> SELECT name from sys.databases ? 2> GO ? 你也可以试着键入如下命令,现实服务器列表 ? 1>:ServerList ? SERVERS: ? WUYZ ? 1>如果想看其他命令的使用,可以键入:Help /? ? 2、执行SQL脚本文件 ? 你可以在SQLCMD命令上加入参数I来执行SQL脚本文件,例如: ? C:/sqlcmd>sqlcmd -i test.sql ? 上面的I选项允许你执行一个脚本文件,另外,你也可以指定O选项,把命令的输出导出到指定文件,当然,我们也可以在代码中指定输出结果,如下 ? C:/sqlcmd>sqlcmd ? 1> :out output.txt ? 2> :r test.sql ? 3、在脚本中使用变量 ? SQLCMD支持可以在脚本中接收用户传入的变量信息,如下面语句: ? SET NOCOUNT ON ? Select $(Cols) from $(tablename) ? GO ? 上面语句请求2个参数,我们可以通过指定相应的参数信息传给脚本,如下: ? C:/sqlcmd>sqlcmd -i test.sql -o Output.txt -v cols="name,object_id,create_date" tablename="sys.objects" ? 上面语句的用途是:执行TEST.SQL脚本文件,并把输出的信息输出到OUTPUT.TXT文件中,并分别指定了COLS,TABLENAME的参数值 ? 4、在脚本中设置变量的值 ? 除了通过外部传入参数的值外,还可以在内部设置参数的值,如下面例子 ? e:/sqlcmd/backuptemplate.sql ? use master ? backup database [$(db)] to disk='$(file)' ? e:/sqlcmd/backupsingle.sql ? :setvar db msdb ? :setvar file c:/temp/msdb.bak ? :r e:/sqlcmd/backuptemplate.sql ? 如果你想知道当然定义了哪些变量,可以使用:listvar命令来显示。主要命令汇总: ? :r filename ? :ServerList ? :List ? :Listvar ? :Error filename | STDOUT | STDERR ? :Out filename | STDOUT | STDERR ? :Perftrace filename | STDOUT | STDERR ? :Connect server[/instance] [timeout] [user_name[password] ] ? :On Error [exit | ignore] ? :SetVar variable value ? :Help:XML ON | OFF ? 主要环境变量汇总: ? -a SQLCMDPACKETSIZE ? -d SQLCMDDBNAME ? -H SQLCMDWORKSTATION ? -h SQLCMDHEADERS ? -l SQLCMDLOGINTIMEOUT ? -m SQLCMDERRORLEVEL ? -P SQLCMDPASSWORD ? -S SQLCMSSERVER ? -s SQLCMDCOLSEP ? -t SQLCMDSTATTIMEOUT ? -U SQLCMDUSER ? -w SQLCMDCOLWIDTH
?[实用技巧]
?由于sqlcmd可以使用几个内置的环境变量,如sqlcmdeditor,我们可以在我的电脑中设置 ?这样的环境变量sqlcmdeditor,其值为notepad ,则以后启动sqlcmd时其默认编辑器(ed) ?为环境变量sqlcmdeditor设置的值,也就是记事本。?? ?? 3、登录设置(安装的实例名为ACCP)
?配置SQL Server Configuration Manager ?SQL Server 2005网络配置? -->? ACCP的协议 -->? ??1) 启用Shared Memory ??2) 启用Named Pipes ??3) 启用TCP/IP ???IP1和IP2的TCP端口都设置为1433,默认IP1:本地计算机地址 ???IP:本地地址127.0.0.1 ??4) 禁用VIA ?SQL Native Client配置? -->? 客户端协议 ??配置同上 ?圆点(.)登录 --> 启用TCP/IP的动态端口为1433 ??IPALL中将TCP动态端口更改为1433
使用
1、使用命令行 sqlcmd -W 2、使用企业管理器 sqlwb -nosplash
4、数据库不能创建关系图问题:数据库用户dbo上没有登录名就不能创建关系图,会出现提示:“此数据库没有有效所有者,因此无法创建关系图”解决:use 数据库名 exec sp_changedbowner 'sa'--为数据库添加sa的登录名。
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|