本站创建于2006年,博主为Delphi老码农,暗黑忠实粉丝,主要用于学习经验分享
该日志由 samool 发表于 2020-10-26 15:08:00
今天上班一打开SQL Server,就报了下面这个问题
很显然,SQL Server 试用期到了,微软提醒我们购买。大家经济允许的话,还是要买正版。
对于我们这些暂时无力承担正版费用的屌丝群体怎么办呢?
显然,重装不是一个好的办法。
SQL Server软件装起来很麻烦,还需要一段时间。况且光卸载老版本就是个问题,很难卸载干净。卸载加安装,半天就过去了。
通过百度,找到了一些解决方案,通过自身的具体实践,终于把问题解决了,特将问题与解决方法记录下来,给遇到同样问题的伙伴提供一种解决方式,也方便自己日后查看。
1.开始-->所有程序-->MicrosoftSQL Server 2008-->配置工具-->SQL Server 安装中心
2.打开SQL Server安装中心(64位) 点击维护-->版本升级,
如果提示失败1,电脑没有重启,这个时候就需要我们手动进行重启,重新打开电脑后,从步骤1开始;
接着按照提示一直点下一步,到产品密钥的时候输入
Microsoft SQL Server 2008 R2序列号密钥
开发版32位:MC46H-JQR3C-2JRHY-XYRKY-QWPVM
开发版64位:FTMGC-B2J97-PJ4QG-V84YB-MTXX8
工组版:XQ4CB-VK9P3-4WYYH-4HQX3-K2R6Q
WEB版:FP4P7-YKG22-WGRVK-MKGMX-V9MTM
数据中心版32位:PTTFM-X467G-P7RH2-3Q6CG-4DMYB
数据中心版64位:DDT3B-8W62X-P9JD6-8MX7M-HWK38
企业版32位:R88PF-GMCFT-KM2KR-4R7GB-43K4B
企业版64位:GYF3T-H2V88-GRPPH-HWRJP-QRTYB
标准版32位:CXTFT-74V4Y-9D48T-2DMFW-TX7CY
标准版64位:B68Q6-KK2R7-89WGB-6Q9KR-QHFDW
输入密钥之后进行升级,升级完成后,再次打开SQL Server。如果还是提示评估期已过,进行如下操作:
修改注册表: win键 + r 打开运行界面 输入regedit 就能打开注册表页面
找到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MicrosoftSQL Server\100\ConfigurationState里的“CommonFiles”值改成3,在重新执行上面的操作。
sql server 2008安装需要一直重启的解决办法:
同样打开注册表
找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager 位置
然后在右边窗口右击PendingFileRenameOperations,选择删除,然后确认
该日志标签: 微软, 表, 正版, sql, 升级, 电脑, 软件, 注册, 工具, 经济, 开发, 方法, 程序, 运行, 输入, 百度, 安装, 界面, 问题, 数据, 时间, 上班, 企业, 失败, 组, 时候, 解决, server, 打开, 标准版, 卸载
该日志由 samool 发表于 2019-04-12 12:21:00
declare @i int;--申明一个整形变量i
set @i = 1;--设置初始值为1
while(@i < 1000)--用while循环给定一个循环结束条件小于1000
begin
insert into T_Kh_SocialAct(客户编号,互动备注) values(1003,'user_no'+cast(@i as varchar));--开始插入
set @i = @i +1;--累加
end;
该日志标签: sql
该日志由 samool 发表于 2017-03-20 15:36:00
Select A.name As 字段名,C.value As 说明
From syscolumns A
Inner Join sysobjects B on A.id=B.id
Left Join sys.extended_properties C on A.id=c.major_id and a.colid=C.minor_id Where B.name='User_Order'
该日志标签: sql
该日志由 samool 发表于 2016-05-18 09:02:00
1 判断数据库教程是否存在
Sql代码
if exists (select * from sys.databases where name = ’数据库名’)
drop database [数据库名] if exists (select * from sys.databases where name = ’数据库名’)
drop database [数据库名]
2 判断表是否存在
Sql代码
if exists (select * from sysobjects where id = object_id(N’[表名]’) and OBJECTPROPERTY(id, N’IsUserTable’) = 1)
drop table [表名] if exists (select * from sysobjects where id = object_id(N’[表名]’) and OBJECTPROPERTY(id, N’IsUserTable’) = 1)
drop table [表名]
该日志由 samool 发表于 2014-12-04 13:26:37
Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了。
1.INSERT INTO SELECT语句
语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1
要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。示例如下:
2.SELECT INTO FROM语句
语句形式为:SELECT vale1, value2 into Table2 from Table1
要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。示例如下:
该日志标签: sql
该日志由 samool 发表于 2014-04-09 08:27:22
select object_name(id) as tablename,rows from sysindexes
where id in (select id from sysobjects where xtype='U') and indid in (0,1)
该日志由 samool 发表于 2014-02-07 11:27:05
当 SQL Server 2005 在具有多个微处理器或 CPU 的计算机上运行时,它将为每个并行计划执行检测最佳并行度(即运行一个语句所使用的处理器数)。您可以使用 max degree of parallelism 选项来限制并行计划执行时所用的处理器数。如果默认值为 0,则使用所有可用的处理器。将 max degree of parallelism 设置为 1 以取消生成并行计划。将该值设置为大于 1 的数字(最大为 64)来限制执行单个查询时所用的最大处理器数。如果指定的值比可用的处理器数大,则使用实际可用数量的处理器。如果计算机只有一个处理器,则将忽略 max degree of parallelism 值。
该日志由 samool 发表于 2014-02-07 11:11:00
--查询某个数据库的连接数
select count(*) from Master.dbo.SysProcesses where dbid=db_id()
--前10名其他等待类型
SELECT TOP 10 *
from sys.dm_os_wait_stats
ORDER BY wait_time_ms DESC
SELECT *FROM sys.dm_os_wait_stats WHERE wait_type like 'PAGELATCH%'
OR wait_type like 'LAZYWRITER_SLEEP%'
--CPU的压力
SELECT scheduler_id, current_tasks_count, runnable_tasks_count
FROM sys.dm_os_schedulers
WHERE scheduler_id < 255
该日志由 samool 发表于 2013-12-16 15:24:50
--读取库中的所有表名
select name from sysobjects where xtype='u'
--读取指定表的所有列名
select name from syscolumns where id=(select max(id) from sysobjects where xtype='u' and name='表名')
获取数据库表名和字段
sqlserver中各个系统表的作用
sysaltfiles 主数据库 保存数据库的文件
syscharsets 主数据库 字符集与排序顺序
sysconfigures 主数据库 配置选项
syscurconfigs 主数据库 当前配置选项
sysdatabases 主数据库 服务器中的数据库
syslanguages 主数据库 语言
syslogins 主数据库 登陆帐号信息
sysoledbusers 主数据库 链接服务器登陆信息
sysprocesses 主数据库 进程
sysremotelogins主数据库 远程登录帐号
syscolumns 每个数据库 列
sysconstrains 每个数据库 限制
sysfilegroups 每个数据库 文件组
sysfiles 每个数据库 文件
sysforeignkeys 每个数据库 外部关键字
sysindexs 每个数据库 索引
sysmenbers 每个数据库 角色成员
sysobjects 每个数据库 所有数据库对象
syspermissions 每个数据库 权限
systypes 每个数据库 用户定义数据类型
sysusers 每个数据库 用户
//
用什么方法可以得到一个表中所有的列名。SQl语句。
select 列名=name from syscolumns where id=object_id(N'要查的表名')
该日志由 samool 发表于 2012-11-14 23:54:22
Select 流水号,类型,名称,
营业厅=
(
case when 类型='网点' then (select name from aipu_BigType where sid=v_area.上级编号)
end
),
分公司=
(
case when 类型='营业厅' then (select name from aipu_BigType where sid=v_area.上级编号)
when 类型='网点' then (select name from aipu_BigType where sid=(select code from aipu_BigType where sid=v_area.上级编号))
end
)
,编号,上级编号,创建时间,修改时间,修改者 from V_area