01 SQLServer2005 安装及使用

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的登录名。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值