当前位置:  数据库>sqlserver
本页文章导读:
    ▪解决方案:PowerDesigner 16生成的SqlServer 2000/2005/2008脚本执行出现:“对象名sysproperties无效”      现象: 在PowerDesigner 16 中生成的sql语句,在执行的时候报错:对象名sysproperties 无效的错误; 原因分析: 造成此问题的原因是由于Sql 2005、2008 删除了系统表 sysproperties 而改用 sys.extended.........
    ▪sql 2005 sql 2008 导出数据字典方法      SELECT --表名=case when a.colorder=1 then d.name else '' end, --表说明=case when a.colorder=1 then isnull(f.value,'') else '' end,表名=d.name, 表说明=isnull(f.value,'') , 字段序号=a.colorder, .........
    ▪数据库服务介绍        服务类型服务是一种在系统后台运行的应用程序。服务通常提供一些核心操作系统功能,MS SQL有下面一些服务。服务类型服务描述SQL Server提供数据的存储、处理和受控访问,并提供.........

[1]解决方案:PowerDesigner 16生成的SqlServer 2000/2005/2008脚本执行出现:“对象名sysproperties无效”
    来源:    发布时间: 2013-10-29

现象:


 


在PowerDesigner 16 中生成的sql语句,在执行的时候报错:对象名sysproperties 无效的错误;


 


原因分析:


 


造成此问题的原因是由于Sql 2005、2008 删除了系统表 sysproperties 而改用 sys.extended_properties 表所致 , 以下是通过创建sysproperties视图,以及修改powerdesigner sql语句生成模板后,再生成数据库SQL脚本执行,共分为三部:


 


第一步:


 


在Sql 2005/2008/2012查询分析器中执行下面的 Sql 语句创建View 'sysproperties'



if exists (select 1 from sysobjects where name = 'sysproperties'and xtype = 'V')
begin
DROP VIEW sysproperties
end
GO
CREATE VIEW sysproperties
AS
SELECT A.name As TableName,
A.id As TableID,B.Name As ColName,B.colid As ColID,
B.xtype As ColType,C.name As PropName,C.Value As PropValue
FROM sysobjects As A INNER JOIN syscolumns As B ON A.id = B.id
INNER JOIN sys.extended_properties As C ON C.major_id = A.id
AND ( minor_id = B.colid)



 


第二 步:


 


修改Table TableComment模板 路径是 Database -> Edit Current DBMS 窗体 General 选项卡 下 Script -> Objects -> Table -> TableComment



[if exists (select 1 
from sys.extended_properties
where major_id = object_id('[%QUALIFIER%]%TABLE%')
and minor_id = 0 and name = 'MS_Description')
begin
[%OWNER%?[.O:[execute ][exec ]]sp_dropextendedproperty [%R%?[N]]'MS_Description',
[%R%?[N]]'user', [%R%?[N]]%.q:OWNER%, [%R%?[N]]'table', [%R%?[N]]%.q:TABLE%
:declare @CurrentUser sysname
select @CurrentUser = user_name()
[.O:[execute ][exec ]]sp_dropextendedproperty [%R%?[N]]'MS_Description',
[%R%?[N]]'user', [%R%?[N]]@CurrentUser, [%R%?[N]]'table', [%R%?[N]]%.q:TABLE%
]
end

][%OWNER%?[.O:[execute ][exec ]]sp_addextendedproperty [%R%?[N]]'MS_Description',
[%R%?[N]]%.q:COMMENT%,
[%R%?[N]]'user', [%R%?[N]]%.q:OWNER%, [%R%?[N]]'table', [%R%?[N]]%.q:TABLE%
:select @CurrentUser = user_name()
[.O:[execute ][exec ]]sp_addextendedproperty [%R%?[N]]'MS_Description',
[%R%?[N]]%.q:COMMENT%,
[%R%?[N]]'user', [%R%?[N]]@CurrentUser, [%R%?[N]]'table', [%R%?[N]]%.q:TABLE%
]


 


第三步:


修改Column ColumnComment模板 路径是 Database -> Edit Current DBMS 窗体 General 选项卡 下 Script -> Objects -> Column -> ColumnComment



[if exists (select 1
from sysproperties
where TableID = object_id('[%QUALIFIER%]%TABLE%')
and ColName = %.q:COLUMN% AND PropName='MS_Description')
begin
[%OWNER%?[.O:[execute ][exec ]]sp_dropextendedproperty [%R%?[N]]'MS_Description',
[%R%?[N]]'user', [%R%?[N]]%.q:OWNER%, [%R%?[N]]'table', [%R%?[N]]%.q:TABLE%, [%R%?[N]]'column', [%R%?[N]]%.q:COLUMN%
:declare @CurrentUser sysname
select @CurrentUser = user_name()
[.O:[execute ][exec ]]sp_dropextendedproperty [%R%?[N]]'MS_Description',
[%R%?[N]]'user', [%R%?[N]]@CurrentUser, [%R%?[N]]'table', [%R%?[N]]%.q:TABLE%, [%R%?[N]]'column', [%R%?[N]]%.q:COLUMN%
]

end

][%OWNER%?[.O:[execute ][exec ]]sp_addextendedproperty [%R%?[N]]'MS_Description',
[%R%?[N]]%.q:COMMENT%,
[%R%?[N]]'
    
[2]sql 2005 sql 2008 导出数据字典方法
    来源:    发布时间: 2013-10-29

SELECT     
--表名=case when a.colorder=1 then d.name else '' end,
--表说明=case when a.colorder=1 then isnull(f.value,'') else '' end,
表名=d.name,
表说明=isnull(f.value,'') ,
字段序号=a.colorder,
字段名=a.name,
标识=case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end,
主键=case when exists(SELECT 1 FROM sysobjects where xtype='PK' and name in (
SELECT name FROM sysindexes WHERE indid in(
SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid
))) then '√' else '' end,
类型=b.name,
占用字节数=a.length,
长度=COLUMNPROPERTY(a.id,a.name,'PRECISION'),
小数位数=isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0),
允许空=case when a.isnullable=1 then '√'else '' end,
默认值=isnull(e.text,''),
字段说明=isnull(g.[value],'')
FROM syscolumns a
left join systypes b on a.xtype=b.xusertype
inner join sysobjects d on a.id=d.id and d.xtype='U' and d.name<>'dtproperties'
left join syscomments e on a.cdefault=e.id
left join sys.extended_properties g on a.id=g.major_id and a.colid=g.minor_id
left join sys.extended_properties f on d.id=f.major_id and f.minor_id =0
--where d.name='要查询的表' --如果只查询指定表,加上此条件
order by d.name,a.id,a.colorder


 

本文链接


    
[3]数据库服务介绍
    来源:    发布时间: 2013-10-29

 

 

服务类型

服务是一种在系统后台运行的应用程序。服务通常提供一些核心操作系统功能,MS SQL有下面一些服务。

服务类型

服务描述

SQL Server

提供数据的存储、处理和受控访问,并提供快速的事务处理

Analysis Server

为商业智能应用程序提供联机分析处理(OLAP)和数据挖掘功能。

SQL Browser

将 SQL Server 连接信息提供给客户端计算机

FullText Search

快速创建结构化和半结构化数据的内容和属性

ReportServer

管理、执行、呈现、计划和传递报表。

SQL Agent

执行作业、监视 SQL Server、激发警报,以及允许自动执行某些管理任务。

SSIS Server

为 SSIS 包的存储和执行提供管理支持。

启动停止服务

 

您可以使用下列工具配置 Microsoft SQL Server 服务,以及启动、暂停或停止这些服务。当然像SQL Server Management Studio是不能启动SQL Server服务的,但是像

SQL Server代理等服务是可以启动的。

· SQL Server Management Studio

· SQL Server 配置管理器

· net 命令

· 服务

SQL Server Management Studio 和SQL Server配置管理器启动服务就不介绍了,这个很简单也很常用。下面简单说一下用net命令来启动服务。

net命令

启动 SQL Server 的默认实例

net start "SQL Server (MSSQLSERVER)"

或 net start MSSQLSERVER

启动 SQL Server 的命名实例

net start "SQL Server (GSP)"

net start MSSQL$GSP

使用启动选项启动 SQL Server

net start "SQL Server (MSSQLSERVER)" /f /m

net start MSSQLSERVER /f /m

默认启动选项

说明

-d master_file_path

master 数据库文件的完全限定路径(通常为:C:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Data\master.mdf)。如果没有提供此选项,则使用现有的注册表参数。

-e error_log_path

错误日志文件的完全限定路径(通常为:C:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\LOG\ERRORLOG)。如果没有提供此选项,则使用现有的注册表参数。

-l master_log_path

master 数据库日志文件的完全限定路径(通常为:C:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Data\mastlog.ldf)。如果没有指定此选项,则使用现有的注册表参数。

其它一些启动选项来临时覆盖默认启动选项并启动 SQL Server 实例。

其他启动选项

说明

-c

缩短从命令提示符启动 SQL Server 时的启动时间。通常,SQL Server 数据库引擎通过调用服务控制管理器作为服务启动。由于从命令提示符启动时,SQL Server 数据库引擎不作为服务启动,因此请使用 -c 跳过此步骤。

-f

以最小配置启动 SQL Server 实例。在配置值的设置(如过度分配内存)防碍服务器启动时,这非常有用。

-g memory_to_reserve

指定 SQL Server 为在 SQL Server 进程之内,但在 SQL Server 内存池之外分配内存而保留的内存整数量 (MB)。内存池以外的内存是指 SQL Server 用于加载诸如下列项目的区域:扩展过程 .dll 文件、分布式查询引用的 OLE DB 访问接口以及 Transact-SQL 语句中引用的自动化对象。文件大小的默认值为 256 MB。

使用此选项可帮助优化内存分配,但仅限于物理内存超过操作系统设置的应用程序可用虚拟内存配置限制时。如果 SQL Server 的内存使用要求异乎寻常,并且 SQL Server 进程的虚拟地址空间都在使用,则对于这样的大内存配置适合使用此选项。对此选项的不当使用会导致 SQL Server 实例无法启动或遇到运行时错误。

除非在 SQL Server 错误日志中看到下列任何警告,否则应使用 -g 参数的默认值:

"Failed Virtual Allocate Bytes: FAIL_VIRTUAL_RESERVE <size>"

"Failed Virtual Allocate Bytes: FAIL_VIRTUAL_COMMIT <size>"

这些消息可能指示 SQL Server 尝试释放部分 SQL Server 内存池空间,以便为扩展存储过程 .dll 文件或自

    
最新技术文章:
▪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