1)数据库中nvarchar()和nchar()的区别 在做SSIS项目中用到数据库字段类型为nchar()的与类型为nvarchar()去关联,但是一直关联不上,去数据库中查询也感觉没有问题,后面一看感觉nchar()后面的后面有很多空,update之后还是有空,后面把nchar()类型改为nvarch
1)数据库中nvarchar()和nchar()的区别
在做SSIS项目中用到数据库字段类型为nchar()的与类型为nvarchar()去关联,但是一直关联不上,去数据库中查询也感觉没有问题,后面一看感觉nchar()后面的值后面有很多空格,update之后还是有空格,后面把nchar()类型改为nvarchar()之后,SSIS就没有问题了,所有以后数据库设计中字段类型需要统一用narchar()
2)xp sp3安装Sqlserver2005的时候,运行安装程序就出错:
Summary.txt中只有:
Microsoft SQL Server 2005 9.00.4035.00
==============================
OS Version : Microsoft Windows XP Professional Service Pack 3 (Build 2600)
Time : Tue May 24 23:09:20 2011
解决办法:
1)由于系统中的Office是GOST进去的,下载office 2003完整版本,找到OWC11.MSI点击安装,对此进行修复操作后,再安装SQL Server 2005 成功
2)可能操作系统是克隆的,所以需要重新去安装系统。
3)SQLSERVER2005最好是安装在服务器的系统上才可以。
3)执行下面语句时
出现错误:
Conversion failed when converting from a character string to uniqueidentifier.
解决办法:'F4A552E9-B151-4098-BA52-F7F7A4EE82E'不是标准的GUID格式
4)Update的问题
想把一张表的一列更新到另外一张表中
报错,不支持,所以这样改:
5)2011-11-1碰到的SQL
更新表qirui中凡是float类型(typestat=0)的字段,而且字段中数据是99的那个值修改为该字段其它值得平均值
declare @sql varchar(max) declare @t varchar(255) set @t='qirui' select @sql=isnull(@sql,'')+'update '+@t+' set ' +name+'=(select avg('+ name+') from dbo.qirui where '+ name +'<>99) where '+ name + '=99' from ( select distinct name from syscolumns where id=object_id(@t) and typestat=0 ) a exec(@sql)
6)sql 2005 pivot 行列互换
select* FROM StudentScore PIVOT ( SUM(Score) FOR Subject IN ([语文],[数学],[化学],[物理]) ) AS B
7)打开“数据库关系图”提示:
此数据库没有有效所有者,因此无法安装数据库关系图支持对象。若要继续,请首先使用“数据库属性”对话框的“文件”页或ALTER AUTHORIZATION语句将数据库所有者设置为有效登录名,然后再添加数据库关系图支持对象。
解决办法:
执行以下命令:
ALTER AUTHORIZATION ON database::mydbname TO sa
8)下面的语句将返回位于TableA但是不位于TableB中的行,分析这两个表可以看出,TableA中只有coll为2的行在TableB中不存在,返回结果下表所示。
SELECT * FROM TableA
EXCEPT
SELECT * FROM TableB;
10)SQL Server 阻止了对组件 'Ole Automation Procedures' 的 过程'sys.sp_OACreate' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configur
sys.sp_OAMethod' of component 'Ole Automation Procedures
执行下面语句:
sp_configure 'Ole Automation Procedures', 1;
GO
RECONFIGURE;
GO
11)sqlserver 2008 日志收缩
USE DB_Satisfaction;
GO
-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE DB_Satisfaction
SET RECOVERY SIMPLE;
GO
-- Shrink the truncated log file to 1 MB.
DBCC SHRINKFILE (DB_Satisfaction_Log, 10);
GO
-- Reset the database recovery model.
ALTER DATABASE DB_Satisfaction
SET RECOVERY FULL;
GO
12)卸载sqlserver 2008后重新安装时出现如下错误:
本地计算机 上的 SQL Server Analysis Services (MSSQL2008) 服务启动后又停止了。一些服务自动停止,如果它们没有什么可做的,例如“性能日志和警报”服务。
解决办法:
清除本机的应用程序日志即可
13)WIN8中SqlServer2008 32位,导入office2007 Excel文件,出现如下错误:
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错)
解决办法:
USE [master] GO EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0',N'AllowInProcess',1 GO EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0',N'DynamicParameters',1 GO链接服务器——获取EXCEL数据
13)sqlserver 2008通过导sql脚本转换到sqlserver 2005后会出现中文不支持的情况
通过修改排序规则,修改为Chinese_PRC_CI_AS
alter database DB_MystatisInfoMazda collate Chinese_PRC_CI_AS
VS2012打开VS2008项目时出现如上错误
造成这个错误的原因是因为工程属性中的目标框架,默认选项是“.NET Framework 4 Client Profile”, Client Profile是.NET Framework框架的子集,目标是为快速发布。但现在Enterprise Library 5.0似乎还需要Client Profile以外而完整版本包括的OracleClient相关的程序集,所以这里我们将目标框架其修改“.NET Framework 4.0”再进行编译,就可以通过了。
--SQL SERVER2008收缩日志方法
第一种办法
--1)
ALTER DATABASE DB_MystatisInfoPA_2014 SET RECOVERY SIMPLE --简单模式
GO
--2)右键-任务-收缩-文件-确定 下来数据库的日志只保留了1M
--3)
ALTER DATABASE DB_MystatisInfoPA_2014 SET RECOVERY FULL --还原为完全模式
GO
第二种办法:
--查询日志文件名称
--SELECT NAME, size FROM sys.database_files
USE [master]
GO
ALTER DATABASE DB_Satisfaction_FAW SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE DB_Satisfaction_FAW SET RECOVERY SIMPLE --简单模式
GO
USE DB_Satisfaction_FAW
GO
DBCC SHRINKFILE (N'DB_Satisfaction_log' , 11, TRUNCATEONLY)
GO
USE [master]
GO
ALTER DATABASE DB_Satisfaction_FAW SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE DB_Satisfaction_FAW SET RECOVERY FULL --还原为完全模式
GO
15)SQL Server 2008“阻止保存要求重新创建表的更改
如果强行更改会出现以下提示:不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的标进行了更改或者启用了“阻止保存要求重新创建表的更改”选项。
解决方法:
工具-〉选项-〉左侧有个 设计器-〉表设计器和数据库设计器 -> 阻止保存要求重新创建表的更改(右侧) 把钩去掉即可。
15)Sqlserver2008
checks
字段类型为float,checks 值为0.98
select
* from wave_revise where checks >=0.98
查询不出来
select
* from wave_revise where checks >=0.979999
查询的出来
解决方法:
select
* from wave_revise cast(checks as decimal(18,2)) >=0.98
转换一下就可以查询出来了
16)数据库Sql server2008误操作数据库恢复
恢复数据库第三方工具:
Recovery
for SQL Server
http://www.cnblogs.com/dudu/archive/2011/10/15/sql_server_recover_deleted_records.html
17)导入Excel文件时出现如下错误
“ExcelReader”的类型初始值设定项引发异常
未能加载文件或程序集MICROSOFT.OFFICE.INTEROP.EXCEL解决未在本地计算机上注册
Microsoft.jet.oledb.4.0 提供程序
解决办法:
http://blog.fend.cn/archives/173.html
http://www.mycodes.net/78/6296.htm
18)浏览器兼容模式造成的如下错误
0x800a139e
- JavaScript 运行时错误: Sys.ParameterCountException: 参数计数不匹配
解决办法:
这个是由于IE浏览器升级之后出现的问题,需要设置IE浏览器的兼容性模式,把网站添加进去
http://jingyan.baidu.com/article/15622f2472c112fdfcbea5e9.html
http://jingyan.baidu.com/article/466506580d9828f549e5f8d1.html
19)Sqlserver2008的数据库转为Sqlserver2005后需要调整字符
alter
database DB_Satisfaction_FAW collate Chinese_PRC_CI_AS