当前位置:  数据库>sqlserver
本页文章导读:
    ▪SQL Server 2008 R2 附加数据库错误      因为这个数据库是不知道当时是那个版本创建的,在官方看了一下,解释说权限不对,应该把这个数据库放到SqlServer安装的目录下,也就是C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data,果然解决.........
    ▪删除Sqlserver数据库中所有表和字段的说明      IF EXISTS ( SELECT 1 FROM sys.objects WHERE name = 'P_DeleteDscirption' AND type = 'p' ) BEGIN DROP PROCEDURE P_DeleteDscirption ENDGOCREATE PROCEDURE P_DeleteDscirptionAS BEGIN .........
    ▪详解Ansi_Padding的用法      - 警告:现存列的 ANSI_PADDING 设置为 'off'。新的列将以 ANSI_PADDING 为 'on' 的设置被创建。  当设置为OFF时,剪裁varchar列的尾随空格和varbinary列的尾随零。该设置只影响新列的定义。关于Ansi_Pad.........

[1]SQL Server 2008 R2 附加数据库错误
    来源:    发布时间: 2013-10-25

因为这个数据库是不知道当时是那个版本创建的,在官方看了一下,解释说权限不对,应该把这个数据库放到SqlServer安装的目录下,也就是C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data,果然解决问题;不过总不能每次都把数据库放到这个目录下啊!所以又寻找了其他的解决方案;

第一种解决方案:就是刚才的方法,把这个文件放到SqlServer默认位置下,不过最好不要放在C盘,万一那天重装系统,就玩完了,哈哈;

第二种解决方案:就是更改Sqlserver实列的默认数据库文件夹,选中Sqlserver实例,右击属性,在左边有个“数据库设置”,点开后,有个“数据库默认位置”,把这个设置成自己的目录就可以了。

第三种解决方案:就是更改这个数据库所在文件夹的权限,添加一个EveryOne的用户,设置成”full control”,就可以了,这个方案即直接又方便;

第四种:按一下方式修改你的SQL的MDF和LDF属性就可以了,选择你的文件(两种文件均要修改为一样的权限)

MDF文件:文件右键>>属性>>安全>>编辑>>添加>>高级>>立即查找>>在搜索结果中选择:Authenticated Users>>确定>>确定>>确定>>MDF文件属性对话框>>在组或用户名列表框中选择:Authenticated Users>>高级>>更改权限>>编辑>>选中“安全控制”>>确定>>确定>>确定>>确定。OK这是MDF的权限就分配完成了!

LDF文件的权限和MDF文件的权限控制一样,按照上面的步骤进行就行了!

如果有其他的附加错误,应该也是权限的问题,只要修改文件的权限就行了,多试试就完事OK!

本文链接


    
[2]删除Sqlserver数据库中所有表和字段的说明
    来源:    发布时间: 2013-10-25
IF EXISTS ( SELECT 1
FROM sys.objects
WHERE name = 'P_DeleteDscirption'
AND type = 'p' )
BEGIN
DROP PROCEDURE P_DeleteDscirption
END
GO
CREATE PROCEDURE P_DeleteDscirption
AS
BEGIN

IF OBJECT_ID('tempdb..#temp') IS NOT NULL
DROP TABLE #temp

DECLARE @index INT ,
@rowCount INT ,
@tableID INT ,
@colID INT ,
@Sql NVARCHAR(4000) ,
@colName NVARCHAR(200) ,
@tableName NVARCHAR(200)
-------------缓存临时数据
SELECT t.name AS TableName ,
c.name AS ColumnName ,
c.object_id AS TableID ,
c.column_id AS ColID
INTO #temp
FROM sys.columns AS c
LEFT JOIN sys.objects AS t ON c.object_id = t.object_id
WHERE t.type = 'u'

-------------获取循环阀值
SELECT @index = 0 ,
@rowCount = COUNT(1)
FROM (SELECT DISTINCT
TableName
FROM #temp
) AS t

WHILE (@index < @rowCount)
BEGIN
SELECT @Sql = N'' ,
@index = @index + 1
-------------取出表名和表的object_id
SELECT @tableName = t.TableName ,
@tableID = T.TableID
FROM (SELECT DISTINCT
TableName ,TableID,
DENSE_RANK() OVER (ORDER BY TableName) AS [rowIndex]
FROM #temp
) AS t
WHERE t.rowIndex = @index
-------------判断表是否有说明
IF EXISTS ( SELECT * FROM sys.extended_properties WHERE major_id = @tableID AND minor_id = 0 AND name = N'MS_Description' )
BEGIN
SET @Sql = @Sql
+ 'EXEC sys.sp_dropextendedproperty @name = N''MS_Description'' ,@level0type = N''SCHEMA'', @level0name = N''dbo'' , @level1type = N''
    
[3]详解Ansi_Padding的用法
    来源:    发布时间: 2013-10-25

- 警告:现存列的 ANSI_PADDING 设置为 'off'。新的列将以 ANSI_PADDING 为 'on' 的设置被创建。

  当设置为OFF时,剪裁varchar列的尾随空格和varbinary列的尾随零。该设置只影响新列的定义。

关于Ansi_Padding的用法

  当设置为ON时,不剪裁字符值中插入到varchar列的尾随空格和二进制值中插入到varbinary列的尾随零。不将值按列的长度进行填充。当设置为OFF时,剪裁varchar列的尾随空格和varbinary列的尾随零。该设置只影响新列的定义。

  SETANSI_PADDING为ON时,将允许空值的Char(n)和binary(n)列填充到列长;而当SETANSI_PADDING为OFF时,将剪裁尾随空格和零,始终将不允许空值的Char(n)和binary(n)列填充到列长。

示例代码:

SETANSI_PADDINGON
GO
PRINT'TestingwithANSI_PADDINGON'
GO

CREATETABLEt1
(charcolchar(16)NULL,
varcharcolvarchar(16)NULL,
varbinarycolvarbinary(8))
GO
INSERTINTOt1VALUES('Noblanks','Noblanks',0x00ee)
INSERTINTOt1VALUES('Trailingblank','Trailingblank',0x00ee00)

SELECT'CHAR'='>'+charcol+'<','VARCHAR'='>'+varcharcol+'<',
varbinarycol
FROMt1
GO

SETANSI_PADDINGOFF
GO
PRINT'TestingwithANSI_PADDINGOFF'
GO

CREATETABLEt2
(charcolchar(16)NULL,
varcharcolvarchar(16)NULL,
varbinarycolvarbinary(8))
GO
INSERTINTOt2VALUES('Noblanks','Noblanks',0x00ee)
INSERTINTOt2VALUES('Trailingblank','Trailingblank',0x00ee00)

SELECT'CHAR'='>'+charcol+'<','VARCHAR'='>'+varcharcol+'<',
varbinarycol
FROMt2
GO

DROPTABLEt1
DROPTABLEt2
GO

 

 

本文链接


    
最新技术文章:
▪Sql Server里删除数据表中重复记录的例子
▪如何查看SQLSERVER中某个查询用了多少TempDB空间...
▪在SQL Server中使用ISNULL执行空值判断查询
▪揭秘SQL Server 2014有哪些新特性(1)-内存数据库
▪揭秘SQL Server 2014有哪些新特性(2)-固态硬盘 Buff...
▪揭秘SQL Server 2014有哪些新特性(3)-可更新列存...
▪揭秘SQL Server 2014有哪些新特性(4)-原生备份加...
▪解决SqlServer 各版本 sa帐户不能登录问题
▪浅析SQL Server中包含事务的存储过程
▪深入分析MSSQL数据库中事务隔离级别和锁机制
▪SQL优化技巧指南
▪人工智能自动sql优化工具--SQLTuning for SQL Server
▪使用 TOP 子句限制UPDATE 语句更新的数据
▪sql server动态存储过程按日期保存数据示例
▪SQLServer用存储过程实现插入更新数据示例
▪SqlServer中tempdb的日志机制原理解析及示例分享...
▪SqlServer数据库提示 “tempdb” 的日志已满 问题...
▪浅谈tempdb在SqlServer系统中的重要作用
▪SqlServer提示“列前缀tempdb.无效: 未指定表名”...
▪SQL命令优化需要记住的9点事项
▪教你如何看懂SQL Server查询计划
▪sql server 2000数据库备份还原的图文教程
▪SqlServer2012中First_Value函数简单分析
▪sql语句中单引号嵌套问题(一定要避免直接嵌...
▪谈谈sqlserver自定义函数与存储过程的区别
▪SQL SERVER使用REPLACE将某一列字段中的某个值替...
▪总结一周内学习的Sql经验(一)
▪sql存储过程详解
▪SQL Server UPDATE语句的用法详解
▪MSSQL事务的存储过程
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3