Sql数据库默认实例和命名实例的区别:

1、服务中服务名称的区别:

  • 默认实例:MSSQLSERVER;
  • 命名实例:实列名为:benet,在服务中的名称是:MSSQL$BENET;
  注:如果你有多个实例的时候会在服务中出现多个服务名称,一个实例对应一个服务。
2、连接到查询分析器或探查器的连接字符串的区别:
  • 默认实例可以使用:“.”(点)、“(local)”、“计算机名称”、“localhost”
  • 实例名称:计算机名:pcname,实例名:benet,连接时使用的名称是:pcname\benet

3、端口区别

  • 默认实例:1433
  • 命名实例:1434

4. 安装Sql Server2008 R2版遇到问题:

TITLE: Microsoft SQL Server 2008 R2 Setup
------------------------------

The following error has occurred:

Could not open key: UNKNOWN\Components\00C004FEE241478418DBB8505B78CBC5\FC38113FF01E1ED4BB95C6F03FE884E1. Verify that you have sufficient access to that key, or contact your support personnel.

For help, click: http://go.microsoft.com/fwlink?LinkID=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=10.50.1600.1&EvtType=0xDF039760%25401201%25401

------------------------------
BUTTONS:

OK
------------------------------

遇到此问题点击Continue,继续就可以了。

sqlserver安装一半断电后重新安装,不成功,卸载掉sqlserver后出现以上问题,就在卸载掉sqlserver后重启电脑后,以管理员身份打开cmd窗口,执行下面这一句代码:

secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose

执行完后在重新安装sqlserver2008r2就可以了。

卸载sqlserver,需要操作的地方:控制面板-卸载程序-找到Microsoft Sql Server 2008 R2(64-bit),按着提示步骤执行卸载就ok;把注册表与Microsoft Sql Server相关的内容删除掉;系统盘sql安装目录Miscrosolft Sql Server文件夹删掉。

  sqlserver注册表:

  1.HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session Manager中(看右边)找到PendingFileRenameOperations值并删除它

  2.HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server

  3.HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server

  4.HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer

5.truncate 和  delete区别:

delete/truncate只删除表数据不删除表结构

 delete操作后存储到rollback segement回滚段中事务提交之后才生效,如果有相应的trigger,执行时会被触发;truncate/drop操作后立即生效,源数据不放到rollback segement,不回滚不触发trigger

delete :  1.DML语音;2.可以回退;3.可以有条件的删除;(自增字段保留原来最大数值);

truncate: 1.DDL语音;2.无法回退;3.删除所有行;4.比delete效率快(自增字段开始从头计数)

drop:删除表结构及与表相关的约束constrain、触发器trigger、索引index,但依赖该表的存储过程stored procedure/函数function保留但是状态变为invalid

DML=Data Manipulation Language:对数据库里的数据进行操作的语音,比如:Select/Insert/Update/Delete

DDL=Data Definition Language:定义或改变表结构、数据类型、约束和表之间链接等等,比如:Create/Alter/Drop

DCL=Data Control Language:设置或更改数据库用户或角色权限语句,比如:grant/deny/reoke

6.sql server 2005以上版本,外围应用配置器(Surface Area Configuration)已不是独立的模块,默认是允许远程连接的,不需要再外围应用配置器中进行设置。可以在这里找到:打开sql server visual studio,登录sql server,右击服务器名称,点击“方面”(Facets),在弹出窗口的右侧下拉框里找到“外围应用配置器”(Surface Area Configuration)

7.xp_cmdshell 扩展存储过程将命令字符串作为操作系统命令 shell 执行,并以文本行的形式返回所有输出。

 xp_cmdshell组件作为sql server 安全配置的一部分被禁用了,可以通过sp_configure启用它,sql脚本如下:

sp_configure 'show advanced options',1
reconfigure
go
sp_configure 'xp_cmdshell',1
reconfigure
go
需要关闭xp_cmdshell的话,只将1改为0
xp_cmdshell 语法:
xp_cmdshell { 'command_string' } [ , no_output ]
‘command string’ 包含传递到操作系统的命令的字符串,‘no_output’可选参数,指定不返回任何输出。
返回结果:0成功,1失败
例如:exec xp_cmdshell 'copy path1 path2'可以把文件从一个路径复制到另一个路径下。注意事项:在执行复制文件命令时可能会遇到权限问题,可以通过sql net use命令登录目标服务器
EXEC master.sys.xp_cmdshell 'net use \\服务器名或IP\ipc$ password /user:username',然后再执行复制文件命令就可以了。
8.merge语句语法
MERGE [hint] INTO [schema ] table [t_alias]
USING [schema ]{ table | view | subquery } [t_alias]
ON ( condition )
WHEN MATCHED THEN merge_update_clause
WHEN NOT MATCHED THEN merge_insert_clause;
 
第一行 命名目标表并给别名T1
第二行 using子句提供merge操作的数据源,命名T
第三行 on子句指定合并的条件
第四行 when matched then 子句判定条件符合则对表T1做什么改变(或删除)
第五行 when not matched then 子句判断条件不符合则插入的操作

9. 纪念一下,使用了这么多年的sql server,竟不知sql表中有“计算列(Computed)”,创建该计算列方法:

create table table1

(

number decimal(18,4),

price money,

Amount as number*price --这里就是计算列

)

计算列是不需要我们指定数据类型与是否允许为null等信息的,SqlServer会根据情况自动赋予数据类型

使用SSMS创建“计算列”:打开“设计表格”窗口,在column属性中有一项“计算所得列的规范(Computed column specification)”,展开,公式(Formula) 写计算公式,是否持久(Is Persisted)

计算列如果没有特殊的设定,它将会是一个虚拟列,也就是这个列实际上是不存在的,只是每次要取这列的值时,sql会按照计算列的公式计算一次,再把结果返回给我们。这样就会存在一些问题,比如,每次计算都会消耗一定的时间,而且也不能在这个列上创建索引。那么能不能把计算列的结果存起来,每次取数据的时候直接把结果返回给我们,而不用每次去计算。呵呵,恭喜你,创建计算列时把"是持久的"这个选项勾起来,就能达到我们的目的了,这时候,计算列就是一个实实在在的列,也可以在该列上创建索引了。

注意:

1,计算列如果没有设置为"是持久的",那么它是不可以用来做check,foreign key或not null约束。当然,如果我们在microsoft sql server management studio为计算列设置了check等约束了,sql server会自动将该列设置为"是持久的"。

2,计算列不可以再次用来作为中一个计算列的一部分。

3,在触发器,不可以对计算列进行update判断,否则会报如下错误:

列”不能在IF UPDATE子句中使用,因为它是计算列。”

9.重置自增列:

--- 删除原表数据,并重置自增列
truncate table tablename --truncate方式也可以重置自增字段
--重置表的自增字段,保留数据
DBCC CHECKIDENT (tablename,reseed,0)
-- 设置允许显式插入自增列
SET IDENTITY_INSERT tablename ON
-- 当然插入完毕记得要设置不允许显式插入自增列
SET IDENTITY_INSERT tablename Off

10. Distributed transaction-分布式事务

创建link server时,有个选项是“Enable promotion of Distributed Transactions for RPC”,设置为true 表示启用分布式事务,前提是保证两个或多个数据库服务器都启用了Distributed Transaction coordinator服务,如未做设置会报错“OLE DB provider "SQLNCLI11" for linked server "HKSQLPWV034" returned message "The transaction manager has disabled its support for remote/network transactions." ”;设置false就不会报这个错了

11.sql server数据库中不能识别的空格   ascii 160   ,可以识别的空格是 ascii 32

把ascii 160空格替换掉:replace(@str,char(160),'')

12. 定时执行sql server job时,报错:

Executed as user: CN\CNSHASQLPWV749sqlagt. Login failed. The login is from an untrusted domain and cannot be used with Windows authentication. [SQLSTATE 28000] (Error 18452).  The step failed.

这个时候需要去检查Job调用的存储过程或执行的T-Sql语句中,是否包含Link server?创建的Link server是否没有问题,是否指定了链接服务器的账号和密码?如果没有指定账号和密码则需要重新创建Link server.

13.sql server创建用户,如果提示该用户已存在,请检查各个数据库下是否有该用户,如果有则删除掉,然后再重新创建该用户及分配权限

14.sql server创建完用户后,我建议要重启一下数据库服务

 
 
												

Sql Server问题集锦的更多相关文章

  1. 常用 SQL Server 规范集锦

    常用 SQL Server 规范集锦 常见的字段类型选择   1.字符类型建议采用varchar/nvarchar数据类型 2.金额货币建议采用money数据类型 3.科学计数建议采用numeric数 ...

  2. 161201、常用 SQL Server 规范集锦

    常见的字段类型选择   1.字符类型建议采用varchar/nvarchar数据类型 2.金额货币建议采用money数据类型 3.科学计数建议采用numeric数据类型 4.自增长标识建议采用bigi ...

  3. [转载]常用 SQL Server 规范集锦

    转载者注:据说是某公司(携程)内部规范. 常见的字段类型选择 1.字符类型建议采用varchar/nvarchar数据类型 2.金额货币建议采用money数据类型 3.科学计数建议采用numeric数 ...

  4. 常用SQL Server规范集锦及优化

    原文地址:http://www.cnblogs.com/liyunhua/p/4526195.html

  5. 程序员容易忽略的SQL Server错误集锦

    1.大小写 大写T-SQL 语言的所有关键字都使用大写,规范要求. 2.使用“;” 使用“;”作为 Transact-SQL 语句终止符.虽然分号不是必需的,但使用它是一种好的习惯,对于合并操作MER ...

  6. 看完SQL Server 2014 Q/A答疑集锦:想不升级都难!

    看完SQL Server 2014 Q/A答疑集锦:想不升级都难! 转载自:http://mp.weixin.qq.com/s/5rZCgnMKmJqeC7hbe4CZ_g 本期嘉宾为微软技术中心技术 ...

  7. SQL Server复制出错文章集锦

    SQL Server复制出错文章集锦 为了方便大家对数据库复制过程中出错的时候更好地解决问题 本人收集了SQL Server相关复制出错解决的文章   The process could not ex ...

  8. sql server 小技巧 集锦

    sql server 小技巧(1) 导入csv数据到sql server sql server 小技巧(2) 删除sql server中重复的数据 sql server 小技巧(3) SQL Serv ...

  9. 【转】sql server数据库操作大全——常用语句/技巧集锦/经典语句

    本文为累计整理,有点乱,凑合着看吧! ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ ☆ ☆ ☆ sql 宝 典 ☆ ☆ ☆ 2012年-8月 修订版 ☆ ...

随机推荐

  1. [转] android自动化之MonkeyRunner测试环境配置(一)

    Android自动化测试之MonkeyRunner 一.Android自动化测试之环境搭建 1.1  Android-sdk介绍 ¢ SDK(Software development kit)软件开发 ...

  2. Notepad++加上xml格式化的功能

    工作中需要用代码创建一个XML文件,创建完发现XML内容都处在同一行,导致非常不容易查看清楚XML代码.于是习惯性地用 Notepad++查看,想用它来对XML代码格式化一下. 于是找到了TextFX ...

  3. BZOJ1758: [Wc2010]重建计划

    题解: 这题我居然做了一星期?... 平均值的极值其实也可以算是一种分数规划,只不过分母上b[i]=1 然后我们就可以二分这个值.类似与 HNOI最小圈 如果没有 链的长度的限制的话,我们直接两遍df ...

  4. RPi 2B python opencv camera demo example

    /************************************************************************************** * RPi 2B pyt ...

  5. Android 自动换行流式布局的RadioGroup

    效果图 用法 使用FlowRadioGroup代替RadioGroup 代码 import android.content.Context; import android.util.Attribute ...

  6. Java这点事

    1--代码片段:  1 2 3 4 5 byte b1=1,b2=2,b3,b6;  final byte b4=4,b5=6;  b6=b4+b5;  b3=(b1+b2);  System.out ...

  7. A Fast Priority Queue Implementation of the Dijkstra Shortest Path Algorithm

    http://www.codeproject.com/Articles/24816/A-Fast-Priority-Queue-Implementation-of-the-Dijkst http:// ...

  8. UVA 12436-Rip Van Winkle's Code(线段树的区间更新)

    题意: long long data[250001]; void A( int st, int nd ) { for( int i = st; i \le nd; i++ ) data[i] = da ...

  9. Python脚本控制的WebDriver 常用操作 <二十二> 处理alert / confirm / prompt

    测试用例场景 webdriver中处理原生的js alert confirm 以及prompt是很简单的.具体思路是使用switch_to.alert()方法定位到alert/confirm/prom ...

  10. sublime3安装python插件 -- SublimeCodeIntel

    先装Package Control,类似pip的一个索引安装工具. 1.http://sublime.wbond.net/Package%20Control.sublime-package 2.sub ...