小编Pap*_*ste的帖子

使用WITH FORMAT备份SQL Server数据库

我在理解WITH FORMATSQL Server BACKUP DATABASE命令选项的目的时遇到了一些麻烦.

使用MSDN示例:

USE AdventureWorks2012;
GO

BACKUP DATABASE AdventureWorks2012
    TO DISK = 'Z:\SQLServerBackups\AdventureWorks2012.Bak'
       WITH FORMAT,
            MEDIANAME = 'Z_SQLServerBackups',
            NAME = 'Full Backup of AdventureWorks2012';
GO
Run Code Online (Sandbox Code Playgroud)

据我所知,这会删除所有现有备份并创建一个新备份.

如果我要省略该WITH FORMAT行,并且我已经有备份Z:\SQLServerBackups\AdventureWorks2012.Bak,这对我的备份意味着什么?

它是增量的还是用完整的覆盖?

sql sql-server backup

7
推荐指数
1
解决办法
5944
查看次数

指定的强制转换是无效的Linq查询

您好我想基于其主键查询表.

我试过了两个

var deviceDetails = (from d in db.Devices
                     where d.DeviceId == pointDetails.DeviceId
                     select d).ToList();  
Run Code Online (Sandbox Code Playgroud)

编辑d.DeviceId

var deviceDetails = db.Devices.Single(d => d.DeviceId == pointDetails.DeviceId)
Run Code Online (Sandbox Code Playgroud)

我知道这些会返回不同的类型,但现在这不是问题.

这个语句抛出一个invalidCastException,我不知道为什么.PointDetails.DeviceId绝对是一个有效的int.即使我用硬编码的int替换它,也会引发异常.

这是堆栈跟踪的相关部分.

 at System.Data.SqlClient.SqlBuffer.get_Int32()
 at System.Data.SqlClient.SqlDataReader.GetInt32(Int32 i)
 at Read_Device(ObjectMaterializer`1 )
 at        System.Data.Linq.SqlClient.ObjectReaderCompiler.ObjectReader`2.MoveNext()
 at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
 at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
Run Code Online (Sandbox Code Playgroud)

任何帮助都是因为我没有想法.

类定义和模式 这是Device的类定义

[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Devices")]
public partial class Device : INotifyPropertyChanging, INotifyPropertyChanged
{

    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);

    private int _DeviceId;
    private int _DeviceTypeId;  
    private string _DeviceName; 
    private string _DeviceMACAddress;   
    private string _DeviceIPAddress;    
    private string _DeviceSubnetMask; …
Run Code Online (Sandbox Code Playgroud)

c# sql linq casting

6
推荐指数
1
解决办法
1万
查看次数

改变列SQL的DEFAULT约束

我有一个用于创建表的SQL脚本,我希望除了几列之外的所有列的默认值为""其他列需要一个整数默认值为0

以下创建表.删除了一些列,因为有很多列

CREATE TABLE [dbo].[PMIPatients]
(
[PID] [varchar](30) NOT NULL,
[PatientFirstName] [varchar](30) NULL,
[PatientLastName] [varchar](30) NULL,
[PatientDOB] [varchar](30) NULL,
[PatientDoctor] [varchar](30) NULL,
[PatientDiet] [varchar](50) NULL,
[PatientFallRiskLevel] [int] NULL,
[BedId] [int] NULL,
[BedDisplayInfo] TEXT NOT NULL DEFAULT ''
CONSTRAINT [PK_HL7Patient] PRIMARY KEY CLUSTERED 
([PID] ASC) WITH (PAD_INDEX  = OFF,
    STATISTICS_NORECOMPUTE  = OFF,
    IGNORE_DUP_KEY = OFF, 
    ALLOW_ROW_LOCKS  = ON,
    ALLOW_PAGE_LOCKS  = ON)
ON [PRIMARY]
) 
ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)

我希望在所选列上设置不同的默认值,以下代码不起作用,因为它表示已经存在默认约束集.所以我认为我必须首先放弃约束.

ALTER TABLE [dbo].[PMIPatients] ADD  
DEFAULT ((0)) 
FOR [PatientFallRiskLevel]
Run Code Online (Sandbox Code Playgroud)

http://www.w3schools.com/sql/sql_default.asp说以下代码应该能够删除这样的DEFAULT

ALTER TABLE …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

sql ×2

sql-server ×2

backup ×1

c# ×1

casting ×1

linq ×1

t-sql ×1