Adding more features to restore operation (#420)

* Adding more features to restore operations and added tests
This commit is contained in:
Leila Lali
2017-07-24 09:41:32 -07:00
committed by GitHub
parent 354d702d6f
commit e1395cbd7d
34 changed files with 5861 additions and 269 deletions

View File

@@ -100,7 +100,7 @@ namespace Microsoft.SqlTools.ServiceLayer.Connection
/// <summary>
/// Callback for ondisconnect handler
/// </summary>
public delegate Task OnDisconnectHandler(ConnectionSummary summary, string ownerUri);
public delegate Task OnDisconnectHandler(IConnectionSummary summary, string ownerUri);
/// <summary>
/// List of onconnection handlers
@@ -1007,7 +1007,7 @@ namespace Microsoft.SqlTools.ServiceLayer.Connection
// Fire a connection changed event
ConnectionChangedParams parameters = new ConnectionChangedParams();
ConnectionSummary summary = info.ConnectionDetails;
IConnectionSummary summary = info.ConnectionDetails;
parameters.Connection = summary.Clone();
parameters.OwnerUri = ownerUri;
ServiceHost.SendEvent(ConnectionChangedNotification.Type, parameters);

View File

@@ -3,10 +3,7 @@
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
//
using System;
using System.Collections.Generic;
using System.Globalization;
using Microsoft.SqlTools.Utility;
using Microsoft.SqlTools.ServiceLayer.Utility;
namespace Microsoft.SqlTools.ServiceLayer.Connection.Contracts
{
@@ -16,18 +13,12 @@ namespace Microsoft.SqlTools.ServiceLayer.Connection.Contracts
/// <remarks>
/// If this contract is ever changed, be sure to update ConnectionDetailsExtensions methods.
/// </remarks>
public class ConnectionDetails : ConnectionSummary
public class ConnectionDetails : GeneralRequestDetails, IConnectionSummary
{
public ConnectionDetails()
public ConnectionDetails() : base()
{
Options = new Dictionary<string, object>();
}
/// <summary>
/// Gets or Sets the connection options
/// </summary>
public Dictionary<string, object> Options { get; set; }
/// <summary>
/// Gets or sets the connection password
/// </summary>
@@ -46,7 +37,7 @@ namespace Microsoft.SqlTools.ServiceLayer.Connection.Contracts
/// <summary>
/// Gets or sets the connection server name
/// </summary>
public override string ServerName
public string ServerName
{
get
{
@@ -62,7 +53,7 @@ namespace Microsoft.SqlTools.ServiceLayer.Connection.Contracts
/// <summary>
/// Gets or sets the connection database name
/// </summary>
public override string DatabaseName
public string DatabaseName
{
get
{
@@ -78,7 +69,7 @@ namespace Microsoft.SqlTools.ServiceLayer.Connection.Contracts
/// <summary>
/// Gets or sets the connection user name
/// </summary>
public override string UserName
public string UserName
{
get
{
@@ -459,49 +450,7 @@ namespace Microsoft.SqlTools.ServiceLayer.Connection.Contracts
}
}
private T GetOptionValue<T>(string name)
{
T result = default(T);
if (Options != null && Options.ContainsKey(name))
{
object value = Options[name];
try
{
if (value != null && (typeof(T) != value.GetType()))
{
if (typeof(T) == typeof(int) || typeof(T) == typeof(int?))
{
value = Convert.ToInt32(value);
}
else if (typeof(T) == typeof(bool) || typeof(T) == typeof(bool?))
{
value = Convert.ToBoolean(value);
}
}
result = value != null ? (T)value : default(T);
}
catch
{
result = default(T);
Logger.Write(LogLevel.Warning, string.Format(CultureInfo.InvariantCulture,
"Cannot convert option value {0}:{1} to {2}", name, value ?? "", typeof(T)));
}
}
return result;
}
private void SetOptionValue<T>(string name, T value)
{
Options = Options ?? new Dictionary<string, object>();
if (Options.ContainsKey(name))
{
Options[name] = value;
}
else
{
Options.Add(name, value);
}
}
public bool IsComparableTo(ConnectionDetails other)
{

View File

@@ -3,12 +3,32 @@
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
//
namespace Microsoft.SqlTools.ServiceLayer.Connection.Contracts
{
public interface IConnectionSummary
{
/// <summary>
/// Gets or sets the connection server name
/// </summary>
string ServerName { get; set; }
/// <summary>
/// Gets or sets the connection database name
/// </summary>
string DatabaseName { get; set; }
/// <summary>
/// Gets or sets the connection user name
/// </summary>
string UserName { get; set; }
}
/// <summary>
/// Provides high level information about a connection.
/// </summary>
public class ConnectionSummary
public class ConnectionSummary : IConnectionSummary
{
/// <summary>
/// Gets or sets the connection server name

View File

@@ -13,7 +13,7 @@ namespace Microsoft.SqlTools.ServiceLayer.Connection.Contracts
/// <summary>
/// Create a copy of a ConnectionSummary object
/// </summary>
public static ConnectionSummary Clone(this ConnectionSummary summary)
public static ConnectionSummary Clone(this IConnectionSummary summary)
{
return new ConnectionSummary()
{

View File

@@ -0,0 +1,60 @@
//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
//
using System.Linq;
using Microsoft.SqlTools.Utility;
namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery.Contracts
{
/// <summary>
/// Class includes information about a file related to a database operation.
/// Can be used for backup set files or restored database files
/// </summary>
public class DatabaseFileInfo
{
/// <summary>
/// The property name used for ids
/// </summary>
public const string IdPropertyName = "Id";
public DatabaseFileInfo(LocalizedPropertyInfo[] properties)
{
Validate.IsNotNull("properties", properties);
this.Properties = properties;
if (this.Properties != null )
{
var idProperty = this.Properties.FirstOrDefault(x => x.PropertyName == IdPropertyName);
Id = idProperty == null || idProperty.PropertyValue == null ? string.Empty : idProperty.PropertyValue.ToString();
}
}
/// <summary>
/// Properties
/// </summary>
public LocalizedPropertyInfo[] Properties { get; private set; }
public string GetPropertyValueAsString(string name)
{
string value = string.Empty;
if (Properties != null)
{
var property = Properties.FirstOrDefault(x => x.PropertyName == name);
value = property == null || property.PropertyValue == null ? string.Empty : property.PropertyValue.ToString();
}
return value;
}
/// <summary>
/// Unique id for this item
/// </summary>
public string Id { get; private set; }
/// <summary>
/// Indicates whether the item is selected in client
/// </summary>
public bool IsSelected { get; set; }
}
}

View File

@@ -0,0 +1,72 @@
//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
//
using System;
using System.Globalization;
namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery.Contracts
{
public class LocalizedPropertyInfo
{
private string propertyValueDisplayName;
private string propertyDisplayName;
/// <summary>
/// Property name
/// </summary>
public string PropertyName { get; set; }
/// <summary>
/// Property value
/// </summary>
public object PropertyValue { get; set; }
/// <summary>
/// Property display name
/// </summary>
public string PropertyDisplayName
{
get
{
return string.IsNullOrEmpty(this.propertyDisplayName) ? PropertyName : this.propertyDisplayName;
}
set
{
this.propertyDisplayName = value;
}
}
/// <summary>
/// Property display name for the value
/// </summary>
public string PropertyValueDisplayName
{
get
{
return string.IsNullOrEmpty(propertyValueDisplayName) ? GetLocalizedPropertyValue() : propertyValueDisplayName;
}
set
{
this.propertyValueDisplayName = value;
}
}
private string GetLocalizedPropertyValue()
{
string displayName = string.Empty;
if(PropertyValue is DateTime)
{
displayName = ((DateTime)PropertyValue) != DateTime.MinValue ? Convert.ToString(PropertyValue, CultureInfo.CurrentCulture) : string.Empty;
}
else
{
displayName = Convert.ToString(PropertyValue, CultureInfo.CurrentCulture);
}
return displayName;
}
}
}

View File

@@ -5,33 +5,106 @@
using System.Collections.Generic;
using Microsoft.SqlTools.Hosting.Protocol.Contracts;
using Microsoft.SqlTools.ServiceLayer.Utility;
namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery.Contracts
{
/// <summary>
/// Restore request parameters
/// </summary>
public class RestoreParams
public class RestoreParams : GeneralRequestDetails
{
public string SessionId
{
get
{
return GetOptionValue<string>("sessionId");
}
set
{
SetOptionValue("sessionId", value);
}
}
/// <summary>
/// The Uri to find the connection to do the restore operations
/// </summary>
public string OwnerUri { get; set; }
/// <summary>
/// The backup file path
/// Comma delimited list of backup files
/// </summary>
public string BackupFilePath { get; set; }
public string BackupFilePaths
{
get
{
return GetOptionValue<string>("backupFilePaths");
}
set
{
SetOptionValue("backupFilePaths", value);
}
}
/// <summary>
/// Target Database name to restore to
/// </summary>
public string DatabaseName { get; set; }
public string TargetDatabaseName
{
get
{
return GetOptionValue<string>("targetDatabaseName");
}
set
{
SetOptionValue("targetDatabaseName", value);
}
}
/// <summary>
/// Source Database name to restore from
/// </summary>
public string SourceDatabaseName
{
get
{
return GetOptionValue<string>("sourceDatabaseName");
}
set
{
SetOptionValue("sourceDatabaseName", value);
}
}
/// <summary>
/// If set to true, the db files will be relocated to default data location in the server
/// </summary>
public bool RelocateDbFiles { get; set; }
public bool RelocateDbFiles
{
get
{
return GetOptionValue<bool>("relocateDbFiles");
}
set
{
SetOptionValue("relocateDbFiles", value);
}
}
/// <summary>
/// Ids of the backup set to restore
/// </summary>
public string[] SelectedBackupSets
{
get
{
return GetOptionValue<string[]>("selectedBackupSets");
}
set
{
SetOptionValue("selectedBackupSets", value);
}
}
}
/// <summary>
@@ -87,10 +160,9 @@ namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery.Contracts
/// </summary>
public class RestorePlanResponse
{
/// <summary>
/// The backup file path
/// </summary>
public string BackupFilePath { get; set; }
public string RestoreSessionId { get; set; }
public DatabaseFileInfo[] BackupSetsToRestore { get; set; }
/// <summary>
/// Indicates whether the restore operation is supported
@@ -107,6 +179,11 @@ namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery.Contracts
/// </summary>
public IEnumerable<RestoreDatabaseFileInfo> DbFiles { get; set; }
/// <summary>
/// Database names extracted from backup sets
/// </summary>
public string[] DatabaseNamesFromBackupSets { get; set; }
/// <summary>
/// Server name
/// </summary>

View File

@@ -26,7 +26,7 @@ namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery
{
private static readonly Lazy<DisasterRecoveryService> instance = new Lazy<DisasterRecoveryService>(() => new DisasterRecoveryService());
private static ConnectionService connectionService = null;
private RestoreDatabaseHelper restoreDatabaseService = new RestoreDatabaseHelper();
private RestoreDatabaseHelper restoreDatabaseService = RestoreDatabaseHelper.Instance;
/// <summary>
/// Default, parameterless constructor.

View File

@@ -3,6 +3,14 @@
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
//
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Globalization;
using System.Linq;
using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlTools.ServiceLayer.DisasterRecovery.Contracts;
namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery.RestoreOperation
{
/// <summary>
@@ -10,14 +18,186 @@ namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery.RestoreOperation
/// </summary>
public class BackupSetInfo
{
public const string BackupComponentPropertyName = "Component";
public const string NamePropertyName = "Name";
public const string BackupTypePropertyName = "Type";
public const string ServerNamePropertyName = "Server";
public const string DatabaseNamePropertyName = "Database";
public const string PositionPropertyName = "Position";
public const string FirstLsnPropertyName = "FirstLSN";
public const string LastLsnPropertyName = "LastLSN";
public const string CheckpointLsnPropertyName = "CheckpointLSN";
public const string FullLsnPropertyName = "FullLSN";
public const string StartDatePropertyName = "StartDate";
public const string FinishDatePropertyName = "FinishDate";
public const string SizePropertyName = "Size";
public const string UserNamePropertyName = "UserName";
public const string ExpirationPropertyName = "Expiration";
private Dictionary<string, LocalizedPropertyInfo> properties;
public BackupSetInfo(Dictionary<string, LocalizedPropertyInfo> properties)
{
this.properties = properties;
}
/// <summary>
/// Backup type (Full, Transaction Log, Differential ...)
/// </summary>
public string BackupType { get; set; }
public string BackupType
{
get
{
return GetPropertyValueAsString(BackupTypePropertyName);
}
}
/// <summary>
/// Backup component (Database, File, Log ...)
/// Backup set properties
/// </summary>
public string BackupComponent { get; set; }
public ReadOnlyDictionary<string, LocalizedPropertyInfo> Properties
{
get
{
return new ReadOnlyDictionary<string, LocalizedPropertyInfo>(this.properties);
}
}
/// <summary>
/// Convert properties to array
/// </summary>
/// <returns></returns>
public LocalizedPropertyInfo[] ConvertPropertiesToArray()
{
return this.properties == null ? new LocalizedPropertyInfo[] { } : this.properties.Values.ToArray();
}
/// <summary>
/// Creates new BackupSet info
/// </summary>
/// <returns></returns>
public static BackupSetInfo Create(Restore restore, Server server)
{
BackupSet backupSet = restore.BackupSet;
Dictionary<string, LocalizedPropertyInfo> properties = new Dictionary<string, LocalizedPropertyInfo>();
string bkSetComponent;
string bkSetType;
CommonUtilities.GetBackupSetTypeAndComponent(backupSet.BackupSetType, out bkSetType, out bkSetComponent);
if (server.Version.Major > 8 && backupSet.IsCopyOnly)
{
bkSetType += SR.RestoreCopyOnly;
}
properties.Add(NamePropertyName, new LocalizedPropertyInfo
{
PropertyName = NamePropertyName,
PropertyValue = backupSet.Name,
PropertyDisplayName = SR.RestoreBackupSetName
});
properties.Add(BackupComponentPropertyName, new LocalizedPropertyInfo
{
PropertyName = BackupComponentPropertyName,
PropertyValue = bkSetComponent,
PropertyDisplayName = SR.RestoreBackupSetType
});
properties.Add(BackupTypePropertyName, new LocalizedPropertyInfo
{
PropertyName = BackupTypePropertyName,
PropertyValue = bkSetType,
PropertyDisplayName = SR.RestoreBackupSetComponent
});
properties.Add(ServerNamePropertyName, new LocalizedPropertyInfo
{
PropertyName = ServerNamePropertyName,
PropertyValue = backupSet.ServerName,
PropertyDisplayName = SR.RestoreBackupSetServer
});
properties.Add(DatabaseNamePropertyName, new LocalizedPropertyInfo
{
PropertyName = DatabaseNamePropertyName,
PropertyValue = backupSet.DatabaseName,
PropertyDisplayName = SR.RestoreBackupSetDatabase
});
properties.Add(PositionPropertyName, new LocalizedPropertyInfo
{
PropertyName = PositionPropertyName,
PropertyValueDisplayName = Convert.ToString(backupSet.Position, CultureInfo.CurrentCulture),
PropertyValue = backupSet.Position,
PropertyDisplayName = SR.RestoreBackupSetPosition
});
properties.Add(FirstLsnPropertyName, new LocalizedPropertyInfo
{
PropertyName = FirstLsnPropertyName,
PropertyValue = backupSet.FirstLsn,
PropertyDisplayName = SR.RestoreBackupSetFirstLsn
});
properties.Add(LastLsnPropertyName, new LocalizedPropertyInfo
{
PropertyName = LastLsnPropertyName,
PropertyValue = backupSet.LastLsn,
PropertyDisplayName = SR.RestoreBackupSetLastLsn
});
properties.Add(FullLsnPropertyName, new LocalizedPropertyInfo
{
PropertyName = FullLsnPropertyName,
PropertyValue = backupSet.DatabaseBackupLsn,
PropertyDisplayName = SR.RestoreBackupSetFullLsn
});
properties.Add(CheckpointLsnPropertyName, new LocalizedPropertyInfo
{
PropertyName = CheckpointLsnPropertyName,
PropertyValue = backupSet.CheckpointLsn,
PropertyDisplayName = SR.RestoreBackupSetCheckpointLsn
});
properties.Add(StartDatePropertyName, new LocalizedPropertyInfo
{
PropertyName = StartDatePropertyName,
PropertyValue = backupSet.BackupStartDate,
PropertyDisplayName = SR.RestoreBackupSetStartDate
});
properties.Add(FinishDatePropertyName, new LocalizedPropertyInfo
{
PropertyName = FinishDatePropertyName,
PropertyValue = backupSet.BackupFinishDate,
PropertyDisplayName = SR.RestoreBackupSetFinishDate
});
properties.Add(SizePropertyName, new LocalizedPropertyInfo
{
PropertyName = SizePropertyName,
PropertyValue = backupSet.BackupSize,
PropertyDisplayName = SR.RestoreBackupSetSize,
});
properties.Add(UserNamePropertyName, new LocalizedPropertyInfo
{
PropertyName = UserNamePropertyName,
PropertyValue = backupSet.UserName,
PropertyDisplayName = SR.RestoreBackupSetUserName,
});
properties.Add(ExpirationPropertyName, new LocalizedPropertyInfo
{
PropertyName = ExpirationPropertyName,
PropertyValue = backupSet.ExpirationDate,
PropertyDisplayName = SR.RestoreBackupSetExpiration,
});
properties.Add(DatabaseFileInfo.IdPropertyName, new LocalizedPropertyInfo
{
PropertyName = DatabaseFileInfo.IdPropertyName,
PropertyValue = backupSet.BackupSetGuid
});
return new BackupSetInfo(properties);
}
public string GetPropertyValueAsString(string propertyName)
{
LocalizedPropertyInfo propertyValue = null;
if(!string.IsNullOrEmpty(propertyName) && Properties != null)
{
Properties.TryGetValue(propertyName, out propertyValue);
}
return propertyValue.PropertyValue != null ? propertyValue.PropertyValue.ToString() : string.Empty;
}
}
}

View File

@@ -15,6 +15,7 @@ using Microsoft.SqlTools.ServiceLayer.Connection.ReliableConnection;
using Microsoft.SqlTools.ServiceLayer.DisasterRecovery.Contracts;
using Microsoft.SqlTools.ServiceLayer.TaskServices;
using Microsoft.SqlTools.Utility;
using System.Collections.Concurrent;
namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery.RestoreOperation
{
@@ -24,6 +25,22 @@ namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery.RestoreOperation
public class RestoreDatabaseHelper
{
private static RestoreDatabaseHelper instance = new RestoreDatabaseHelper();
private ConcurrentDictionary<string, RestoreDatabaseTaskDataObject> restoreSessions = new ConcurrentDictionary<string, RestoreDatabaseTaskDataObject>();
internal RestoreDatabaseHelper()
{
}
public static RestoreDatabaseHelper Instance
{
get
{
return instance;
}
}
/// <summary>
/// Create a backup task for execution and cancellation
/// </summary>
@@ -45,7 +62,7 @@ namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery.RestoreOperation
{
if (restoreDataObject.IsValid)
{
ExecuteRestore(restoreDataObject);
ExecuteRestore(restoreDataObject, sqlTask);
result.TaskStatus = SqlTaskStatus.Succeeded;
}
else
@@ -135,7 +152,7 @@ namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery.RestoreOperation
{
RestorePlanResponse response = new RestorePlanResponse()
{
DatabaseName = restoreDataObject.RestoreParams.DatabaseName
DatabaseName = restoreDataObject.RestoreParams.TargetDatabaseName
};
try
{
@@ -145,6 +162,7 @@ namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery.RestoreOperation
if (restoreDataObject != null && restoreDataObject.IsValid)
{
response.RestoreSessionId = restoreDataObject.SessionId;
response.DatabaseName = restoreDataObject.TargetDatabase;
response.DbFiles = restoreDataObject.DbFiles.Select(x => new RestoreDatabaseFileInfo
{
@@ -160,6 +178,9 @@ namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery.RestoreOperation
response.ErrorMessage = SR.RestoreNotSupported;
}
response.BackupSetsToRestore = restoreDataObject.GetBackupSetInfo().Select(x => new DatabaseFileInfo(x.ConvertPropertiesToArray())).ToArray();
var dbNames = restoreDataObject.GetSourceDbNames();
response.DatabaseNamesFromBackupSets = dbNames == null ? new string[] { } : dbNames.ToArray();
response.RelocateFilesNeeded = !restoreDataObject.DbFilesLocationAreValid();
response.DefaultDataFolder = restoreDataObject.DefaultDataFileFolder;
response.DefaultLogFolder = restoreDataObject.DefaultLogFileFolder;
@@ -204,7 +225,9 @@ namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery.RestoreOperation
if (restoreDataObject != null)
{
var backupTypes = restoreDataObject.GetBackupSetInfo();
return backupTypes.Any(x => x.BackupType.StartsWith(RestoreConstants.TypeFull));
var selectedBackupSets = restoreDataObject.RestoreParams.SelectedBackupSets;
return backupTypes.Any(x => (selectedBackupSets == null || selectedBackupSets.Contains(x.GetPropertyValueAsString(DatabaseFileInfo.IdPropertyName)))
&& x.BackupType.StartsWith(RestoreConstants.TypeFull));
}
return false;
}
@@ -215,6 +238,24 @@ namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery.RestoreOperation
/// <param name="restoreParams">Restore request parameters</param>
/// <returns>Restore task object</returns>
public RestoreDatabaseTaskDataObject CreateRestoreDatabaseTaskDataObject(RestoreParams restoreParams)
{
RestoreDatabaseTaskDataObject restoreTaskObject = null;
if (!string.IsNullOrWhiteSpace(restoreParams.SessionId))
{
this.restoreSessions.TryGetValue(restoreParams.SessionId, out restoreTaskObject);
}
if (restoreTaskObject == null)
{
restoreTaskObject = CreateRestoreForNewSession(restoreParams);
string sessionId = string.IsNullOrWhiteSpace(restoreParams.SessionId) ? Guid.NewGuid().ToString() : restoreParams.SessionId;
this.restoreSessions.AddOrUpdate(sessionId, restoreTaskObject, (key, oldSession) => restoreTaskObject);
restoreTaskObject.SessionId = sessionId;
}
return restoreTaskObject;
}
private RestoreDatabaseTaskDataObject CreateRestoreForNewSession(RestoreParams restoreParams)
{
ConnectionInfo connInfo;
DisasterRecoveryService.ConnectionServiceInstance.TryFindConnection(
@@ -242,7 +283,7 @@ namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery.RestoreOperation
}
Server server = new Server(new ServerConnection(connection));
RestoreDatabaseTaskDataObject restoreDataObject = new RestoreDatabaseTaskDataObject(server, restoreParams.DatabaseName);
RestoreDatabaseTaskDataObject restoreDataObject = new RestoreDatabaseTaskDataObject(server, restoreParams.TargetDatabaseName);
restoreDataObject.RestoreParams = restoreParams;
return restoreDataObject;
}
@@ -256,35 +297,54 @@ namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery.RestoreOperation
/// <returns></returns>
private void UpdateRestorePlan(RestoreDatabaseTaskDataObject restoreDataObject)
{
if (!string.IsNullOrEmpty(restoreDataObject.RestoreParams.BackupFilePath))
if (restoreDataObject.PlanUpdateRequired)
{
restoreDataObject.AddFile(restoreDataObject.RestoreParams.BackupFilePath);
}
restoreDataObject.RestorePlanner.ReadHeaderFromMedia = !string.IsNullOrEmpty(restoreDataObject.RestoreParams.BackupFilePath);
restoreDataObject.RestorePlanner.DatabaseName = restoreDataObject.DefaultDbName;
restoreDataObject.TargetDatabase = restoreDataObject.RestoreParams.DatabaseName;
//TODO: used for other types of restore
/*bool isTailLogBackupPossible = restoreDataObject.RestorePlanner.IsTailLogBackupPossible(restoreDataObject.RestorePlanner.DatabaseName);
restoreDataObject.RestorePlanner.BackupTailLog = isTailLogBackupPossible;
restoreDataObject.TailLogBackupFile = restoreDataObject.Util.GetDefaultTailLogbackupFile(dbName);
restoreDataObject.RestorePlanner.TailLogBackupFile = restoreDataObject.TailLogBackupFile;
*/
if (!string.IsNullOrEmpty(restoreDataObject.RestoreParams.BackupFilePaths))
{
restoreDataObject.AddFiles(restoreDataObject.RestoreParams.BackupFilePaths);
}
restoreDataObject.RestorePlanner.ReadHeaderFromMedia = !string.IsNullOrEmpty(restoreDataObject.RestoreParams.BackupFilePaths);
restoreDataObject.UpdateRestorePlan(restoreDataObject.RestoreParams.RelocateDbFiles);
if (string.IsNullOrWhiteSpace(restoreDataObject.RestoreParams.SourceDatabaseName))
{
restoreDataObject.RestorePlanner.DatabaseName = restoreDataObject.DefaultDbName;
}
else
{
restoreDataObject.RestorePlanner.DatabaseName = restoreDataObject.RestoreParams.SourceDatabaseName;
}
restoreDataObject.TargetDatabase = restoreDataObject.RestoreParams.TargetDatabaseName;
//TODO: used for other types of restore
/*bool isTailLogBackupPossible = restoreDataObject.RestorePlanner.IsTailLogBackupPossible(restoreDataObject.RestorePlanner.DatabaseName);
restoreDataObject.RestorePlanner.BackupTailLog = isTailLogBackupPossible;
restoreDataObject.TailLogBackupFile = restoreDataObject.Util.GetDefaultTailLogbackupFile(dbName);
restoreDataObject.RestorePlanner.TailLogBackupFile = restoreDataObject.TailLogBackupFile;
*/
restoreDataObject.UpdateRestorePlan(restoreDataObject.RestoreParams.RelocateDbFiles);
}
}
/// <summary>
/// Executes the restore operation
/// </summary>
/// <param name="requestParam"></param>
public void ExecuteRestore(RestoreDatabaseTaskDataObject restoreDataObject)
public void ExecuteRestore(RestoreDatabaseTaskDataObject restoreDataObject, SqlTask sqlTask = null)
{
// Restore Plan should be already created and updated at this point
UpdateRestorePlan(restoreDataObject);
if (restoreDataObject != null && CanRestore(restoreDataObject))
{
restoreDataObject.RestorePlan.Execute();
try
{
restoreDataObject.SqlTask = sqlTask;
restoreDataObject.Execute();
}
catch(Exception ex)
{
throw ex;
}
}
else
{

View File

@@ -9,6 +9,7 @@ using System.IO;
using System.Linq;
using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlTools.ServiceLayer.DisasterRecovery.Contracts;
using Microsoft.SqlTools.ServiceLayer.TaskServices;
namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery.RestoreOperation
{
@@ -17,8 +18,11 @@ namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery.RestoreOperation
/// </summary>
public class RestoreDatabaseTaskDataObject
{
private const char BackupMediaNameSeparator = ',';
public RestoreDatabaseTaskDataObject(Server server, String databaseName)
{
PlanUpdateRequired = true;
this.Server = server;
this.Util = new RestoreUtil(server);
restorePlanner = new DatabaseRestorePlanner(server);
@@ -39,6 +43,16 @@ namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery.RestoreOperation
this.restoreOptions.PercentCompleteNotification = 5;
}
/// <summary>
/// Restore session id
/// </summary>
public string SessionId { get; set; }
/// <summary>
/// Sql task assigned to the restore object
/// </summary>
public SqlTask SqlTask { get; set; }
public string TargetDatabase
{
get
@@ -86,14 +100,74 @@ namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery.RestoreOperation
/// <summary>
/// Add a backup file to restore plan media list
/// </summary>
/// <param name="filePath"></param>
public void AddFile(string filePath)
/// <param name="filePaths"></param>
public void AddFiles(string filePaths)
{
this.RestorePlanner.BackupMediaList.Add(new BackupDeviceItem
PlanUpdateRequired = true;
if (!string.IsNullOrWhiteSpace(filePaths))
{
DeviceType = DeviceType.File,
Name = filePath
});
string[] files = filePaths.Split(BackupMediaNameSeparator);
files = files.Select(x => x.Trim()).ToArray();
foreach (var file in files)
{
if (!this.RestorePlanner.BackupMediaList.Any(x => x.Name == file))
{
this.RestorePlanner.BackupMediaList.Add(new BackupDeviceItem
{
DeviceType = DeviceType.File,
Name = file
});
}
}
var itemsToRemove = this.RestorePlanner.BackupMediaList.Where(x => !files.Contains(x.Name));
foreach (var item in itemsToRemove)
{
this.RestorePlanner.BackupMediaList.Remove(item);
}
}
}
/// <summary>
/// Removes the backup sets that are filtered in the request
/// </summary>
public void RemoveFilteredBackupSets()
{
var backupSetIdsToRestore = RestoreParams.SelectedBackupSets;
if (backupSetIdsToRestore != null)
{
var ids = backupSetIdsToRestore.Select(x =>
{
Guid guid;
Guid.TryParse(x, out guid);
return guid;
}
);
restorePlan.RestoreOperations.RemoveAll(x => !ids.Contains(x.BackupSet.BackupSetGuid));
}
}
/// <summary>
/// Executes the restore operations
/// </summary>
public void Execute()
{
RestorePlan restorePlan = RestorePlan;
// ssms creates a new restore plan by calling GetRestorePlanForExecutionAndScript and
// Doens't use the plan already created here. not sure why, using the existing restore plan doesn't make
// any issue so far so keeping in it for now but we might want to double check later
if (restorePlan != null && restorePlan.RestoreOperations.Count > 0)
{
RemoveFilteredBackupSets();
restorePlan.PercentComplete += (object sender, PercentCompleteEventArgs e) =>
{
if (SqlTask != null)
{
SqlTask.AddMessage($"{e.Percent}%", SqlTaskStatus.InProgress);
}
};
restorePlan.Execute();
}
}
public RestoreUtil Util { get; set; }
@@ -109,7 +183,7 @@ namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery.RestoreOperation
}
private string tailLogBackupFile;
private bool planUpdateRequired = false;
public bool PlanUpdateRequired { get; private set; }
/// <summary>
/// File to backup tail log before doing the restore
@@ -122,7 +196,7 @@ namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery.RestoreOperation
if (tailLogBackupFile == null || !tailLogBackupFile.Equals(value))
{
this.RestorePlanner.TailLogBackupFile = value;
this.planUpdateRequired = true;
this.PlanUpdateRequired = true;
this.tailLogBackupFile = value;
}
}
@@ -384,43 +458,6 @@ namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery.RestoreOperation
/// </summary>
internal string ContainerSharedAccessPolicy = string.Empty;
/// <summary>
/// Gets RestorePlan to perform restore and to script
/// </summary>
public RestorePlan GetRestorePlanForExecutionAndScript()
{
this.ActiveException = null; //Clear any existing exceptions as the plan is getting recreated.
//Clear any existing exceptions as new plan is getting recreated.
this.CreateOrUpdateRestorePlanException = null;
bool tailLogBackup = this.RestorePlanner.BackupTailLog;
if (this.planUpdateRequired)
{
this.RestorePlan = this.RestorePlanner.CreateRestorePlan(this.RestoreOptions);
this.UpdateRestoreSelected();
this.Util.AddCredentialNameForUrlBackupSet(this.RestorePlan, this.CredentialName);
}
RestorePlan rp = new RestorePlan(this.Server);
rp.RestoreAction = RestoreActionType.Database;
if (this.RestorePlan != null)
{
if (this.RestorePlan.TailLogBackupOperation != null && tailLogBackup)
{
rp.TailLogBackupOperation = this.RestorePlan.TailLogBackupOperation;
}
int i = 0;
foreach (Restore res in this.RestorePlan.RestoreOperations)
{
if (this.RestoreSelected[i] == true)
{
rp.RestoreOperations.Add(res);
}
i++;
}
}
this.SetRestorePlanProperties(rp);
return rp;
}
/// <summary>
/// Updates the RestoreSelected Array to hold information about updated Restore Plan
/// </summary>
@@ -472,17 +509,7 @@ namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery.RestoreOperation
List<BackupSetInfo> result = new List<BackupSetInfo>();
foreach (Restore restore in RestorePlan.RestoreOperations)
{
BackupSet backupSet = restore.BackupSet;
String bkSetComponent;
String bkSetType;
CommonUtilities.GetBackupSetTypeAndComponent(backupSet.BackupSetType, out bkSetType, out bkSetComponent);
if (this.Server.Version.Major > 8 && backupSet.IsCopyOnly)
{
bkSetType += " (Copy Only)";
}
result.Add(new BackupSetInfo { BackupComponent = bkSetComponent, BackupType = bkSetType });
result.Add(BackupSetInfo.Create(restore, Server));
}
return result;
@@ -564,7 +591,7 @@ namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery.RestoreOperation
//Clear any existing exceptions as new plan is getting recreated.
this.CreateOrUpdateRestorePlanException = null;
this.DbFiles.Clear();
this.planUpdateRequired = false;
this.PlanUpdateRequired = false;
this.restorePlan = null;
if (String.IsNullOrEmpty(this.RestorePlanner.DatabaseName))
{
@@ -666,7 +693,7 @@ namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery.RestoreOperation
if (this.RestorePlanner.BackupTailLog != value)
{
this.RestorePlanner.BackupTailLog = value;
this.planUpdateRequired = true;
this.PlanUpdateRequired = true;
}
}
}
@@ -685,7 +712,7 @@ namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery.RestoreOperation
if (this.RestorePlanner.TailLogWithNoRecovery != value)
{
this.RestorePlanner.TailLogWithNoRecovery = value;
this.planUpdateRequired = true;
this.PlanUpdateRequired = true;
}
}
}

View File

@@ -729,7 +729,7 @@ namespace Microsoft.SqlTools.ServiceLayer.LanguageServices
/// it is the last URI connected to a particular connection,
/// then remove the cache.
/// </summary>
public async Task RemoveAutoCompleteCacheUriReference(ConnectionSummary summary, string ownerUri)
public async Task RemoveAutoCompleteCacheUriReference(IConnectionSummary summary, string ownerUri)
{
RemoveScriptParseInfo(ownerUri);

View File

@@ -3349,6 +3349,134 @@ namespace Microsoft.SqlTools.ServiceLayer
}
}
public static string RestoreCopyOnly
{
get
{
return Keys.GetString(Keys.RestoreCopyOnly);
}
}
public static string RestoreBackupSetComponent
{
get
{
return Keys.GetString(Keys.RestoreBackupSetComponent);
}
}
public static string RestoreBackupSetName
{
get
{
return Keys.GetString(Keys.RestoreBackupSetName);
}
}
public static string RestoreBackupSetType
{
get
{
return Keys.GetString(Keys.RestoreBackupSetType);
}
}
public static string RestoreBackupSetServer
{
get
{
return Keys.GetString(Keys.RestoreBackupSetServer);
}
}
public static string RestoreBackupSetDatabase
{
get
{
return Keys.GetString(Keys.RestoreBackupSetDatabase);
}
}
public static string RestoreBackupSetPosition
{
get
{
return Keys.GetString(Keys.RestoreBackupSetPosition);
}
}
public static string RestoreBackupSetFirstLsn
{
get
{
return Keys.GetString(Keys.RestoreBackupSetFirstLsn);
}
}
public static string RestoreBackupSetLastLsn
{
get
{
return Keys.GetString(Keys.RestoreBackupSetLastLsn);
}
}
public static string RestoreBackupSetCheckpointLsn
{
get
{
return Keys.GetString(Keys.RestoreBackupSetCheckpointLsn);
}
}
public static string RestoreBackupSetFullLsn
{
get
{
return Keys.GetString(Keys.RestoreBackupSetFullLsn);
}
}
public static string RestoreBackupSetStartDate
{
get
{
return Keys.GetString(Keys.RestoreBackupSetStartDate);
}
}
public static string RestoreBackupSetFinishDate
{
get
{
return Keys.GetString(Keys.RestoreBackupSetFinishDate);
}
}
public static string RestoreBackupSetSize
{
get
{
return Keys.GetString(Keys.RestoreBackupSetSize);
}
}
public static string RestoreBackupSetUserName
{
get
{
return Keys.GetString(Keys.RestoreBackupSetUserName);
}
}
public static string RestoreBackupSetExpiration
{
get
{
return Keys.GetString(Keys.RestoreBackupSetExpiration);
}
}
public static string ConnectionServiceListDbErrorNotConnected(string uri)
{
return Keys.GetString(Keys.ConnectionServiceListDbErrorNotConnected, uri);
@@ -4714,6 +4842,54 @@ namespace Microsoft.SqlTools.ServiceLayer
public const string RestoreTaskName = "RestoreTaskName";
public const string RestoreCopyOnly = "RestoreCopyOnly";
public const string RestoreBackupSetComponent = "RestoreBackupSetComponent";
public const string RestoreBackupSetName = "RestoreBackupSetName";
public const string RestoreBackupSetType = "RestoreBackupSetType";
public const string RestoreBackupSetServer = "RestoreBackupSetServer";
public const string RestoreBackupSetDatabase = "RestoreBackupSetDatabase";
public const string RestoreBackupSetPosition = "RestoreBackupSetPosition";
public const string RestoreBackupSetFirstLsn = "RestoreBackupSetFirstLsn";
public const string RestoreBackupSetLastLsn = "RestoreBackupSetLastLsn";
public const string RestoreBackupSetCheckpointLsn = "RestoreBackupSetCheckpointLsn";
public const string RestoreBackupSetFullLsn = "RestoreBackupSetFullLsn";
public const string RestoreBackupSetStartDate = "RestoreBackupSetStartDate";
public const string RestoreBackupSetFinishDate = "RestoreBackupSetFinishDate";
public const string RestoreBackupSetSize = "RestoreBackupSetSize";
public const string RestoreBackupSetUserName = "RestoreBackupSetUserName";
public const string RestoreBackupSetExpiration = "RestoreBackupSetExpiration";
private Keys()
{ }

View File

@@ -154,7 +154,7 @@
<value>Abfrage wurde erfolgreich abgebrochen, Fehler beim Abfrage verfügen. Benutzer-URI nicht gefunden.</value>
</data>
<data name="QueryServiceQueryCancelled" xml:space="preserve">
<value>Abfrage wurde vom Benutzer abgebrochen.</value>
<value>Die Abfrage wurde vom Benutzer abgebrochen.</value>
</data>
<data name="QueryServiceSubsetBatchNotCompleted" xml:space="preserve">
<value>Die Stapelverarbeitung ist noch nicht abgeschlossen</value>
@@ -358,7 +358,7 @@
<value>Variable {0} ist nicht definiert.</value>
</data>
<data name="TestLocalizationConstant" xml:space="preserve">
<value>EN_LOCALIZATION</value>
<value>Test</value>
</data>
<data name="ErrorEmptyStringReplacement" xml:space="preserve">
<value>Ersatz einer leeren Zeichenfolge durch eine leere Zeichenfolge.</value>
@@ -417,12 +417,24 @@
<data name="ConnectionServiceDbErrorDefaultNotConnected" xml:space="preserve">
<value>Spezifizierte URI '{0}' hat keine Standardverbindung</value>
</data>
<data name="EditDataCommitInProgress" xml:space="preserve">
<value>Eine Commit-Anweisung wird ausgeführt. Bitte warten Sie bis zur Fertigstellung</value>
</data>
<data name="SqlScriptFormatterDecimalMissingPrecision" xml:space="preserve">
<value>Für die Decimal-Spalte fehlt die Angabe der Genauigkeit und Dezimalstellenanzahl</value>
</data>
<data name="EditDataComputedColumnPlaceholder" xml:space="preserve">
<value>&lt;TBD&gt;</value>
</data>
<data name="QueryServiceResultSetAddNoRows" xml:space="preserve">
<value>Kann Zeile nicht an Ergebnisbuffer anhängen, da keine Zeilen im Datareader enthalten sind.</value>
</data>
<data name="EditDataTimeOver24Hrs" xml:space="preserve">
<value>Der Wert für eine Spalte vom Typ TIME muss zwischen 00:00:00.0000000 und 23:59:59.9999999 liegen</value>
</data>
<data name="EditDataNullNotAllowed" xml:space="preserve">
<value>NULL ist für diese Spalte nicht erlaubt</value>
</data>
<data name="EditDataSessionAlreadyExists" xml:space="preserve">
<value>Es gibt bereits eine Session</value>
</data>
@@ -453,6 +465,15 @@
<data name="EditDataMetadataNotExtended" xml:space="preserve">
<value>Die Metadaten der Tabelle enthält keine erweiterten EIgenschaften.</value>
</data>
<data name="EditDataObjectNotFound" xml:space="preserve">
<value>Tabelle oder Sicht zur Bearbeitung konnte nicht gefunden werden</value>
</data>
<data name="TreeNodeError" xml:space="preserve">
<value>Fehler beim Erweitern von: {0}</value>
</data>
<data name="ServerNodeConnectionError" xml:space="preserve">
<value>Fehler bei der Verbindung zu {0}</value>
</data>
<data name="SchemaHierarchy_Aggregates" xml:space="preserve">
<value>Aggregate</value>
</data>
@@ -897,9 +918,6 @@
<data name="SchemaHierarchy_TableTypeIndexes" xml:space="preserve">
<value>Tabellentypindex</value>
</data>
<data name="SchemaHierarchy_ServerInstance" xml:space="preserve">
<value>ServerInstance</value>
</data>
<data name="SchemaHierarchy_SelectiveXmlIndexes" xml:space="preserve">
<value>Selektive XML-Indexe</value>
</data>
@@ -936,4 +954,437 @@
<data name="SchemaHierarchy_ColumnEncryptionKeys" xml:space="preserve">
<value>Spaltenverschlüsselungsschlüssel</value>
</data>
<data name="SchemaHierarchy_Server" xml:space="preserve">
<value>Server</value>
</data>
<data name="ScriptingParams_ConnectionString_Property_Invalid" xml:space="preserve">
<value>Fehler beim Analysieren der Eigenschaft ScriptingParams.ConnectionString.</value>
</data>
<data name="ScriptingParams_FilePath_Property_Invalid" xml:space="preserve">
<value>Ungültiges Verzeichnis angeben in der Eigenschaft ScriptingParams.FilePath.</value>
</data>
<data name="ScriptingListObjectsCompleteParams_ConnectionString_Property_Invalid" xml:space="preserve">
<value>Fehler beim Analysieren der Eigenschaft ScriptingListObjectsCompleteParams.ConnectionString</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterLabelFormatString" xml:space="preserve">
<value>{0} ({1}, {2}, {3})</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterNoDefaultLabel" xml:space="preserve">
<value>Kein Standard</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputLabel" xml:space="preserve">
<value>Eingabe</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputOutputLabel" xml:space="preserve">
<value>Eingabe/Ausgabe</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputReadOnlyLabel" xml:space="preserve">
<value>Eingabe/schreibgeschützt</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputOutputReadOnlyLabel" xml:space="preserve">
<value>Eingabe/Ausgabe/schreibgeschützt</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterDefaultLabel" xml:space="preserve">
<value>Standard</value>
</data>
<data name="SchemaHierarchy_NullColumn_Label" xml:space="preserve">
<value>NULL</value>
</data>
<data name="SchemaHierarchy_NotNullColumn_Label" xml:space="preserve">
<value>nicht NULL</value>
</data>
<data name="SchemaHierarchy_UDDTLabelWithType" xml:space="preserve">
<value>{0} ({1}, {2})</value>
</data>
<data name="SchemaHierarchy_UDDTLabelWithoutType" xml:space="preserve">
<value>{0} ({1})</value>
</data>
<data name="SchemaHierarchy_ComputedColumnLabelWithType" xml:space="preserve">
<value>{0} ({1}berechnet, {2}, {3})</value>
</data>
<data name="SchemaHierarchy_ComputedColumnLabelWithoutType" xml:space="preserve">
<value>{0} ({1}berechnet)</value>
</data>
<data name="SchemaHierarchy_ColumnSetLabelWithoutType" xml:space="preserve">
<value>{0} (Spaltensatz, {1})</value>
</data>
<data name="SchemaHierarchy_ColumnSetLabelWithType" xml:space="preserve">
<value>{0} (Spaltensatz, {1} {2}, {3})</value>
</data>
<data name="SchemaHierarchy_ColumnSetLabelWithTypeAndKeyString" xml:space="preserve">
<value>{0} (Spaltensatz, {1}, {2}, {3})</value>
</data>
<data name="UniqueIndex_LabelPart" xml:space="preserve">
<value>Eindeutig</value>
</data>
<data name="NonUniqueIndex_LabelPart" xml:space="preserve">
<value>Nicht eindeutig</value>
</data>
<data name="ClusteredIndex_LabelPart" xml:space="preserve">
<value>Gruppiert</value>
</data>
<data name="NonClusteredIndex_LabelPart" xml:space="preserve">
<value>Nicht gruppiert</value>
</data>
<data name="History_LabelPart" xml:space="preserve">
<value>Verlauf</value>
</data>
<data name="SystemVersioned_LabelPart" xml:space="preserve">
<value>System-Mit Versionsangabe</value>
</data>
<data name="unavailable" xml:space="preserve">
<value>Nicht verfügbar</value>
</data>
<data name="filegroup_dialog_defaultFilegroup" xml:space="preserve">
<value>Aktuelle Standarddateigruppe: {0}</value>
</data>
<data name="filegroup_dialog_title" xml:space="preserve">
<value>Neue Dateigruppe für "{0}"</value>
</data>
<data name="filegroups_default" xml:space="preserve">
<value>Standard</value>
</data>
<data name="filegroups_files" xml:space="preserve">
<value>Dateien</value>
</data>
<data name="filegroups_name" xml:space="preserve">
<value>Name</value>
</data>
<data name="filegroups_readonly" xml:space="preserve">
<value>Schreibgeschützt</value>
</data>
<data name="general_autogrowth" xml:space="preserve">
<value>Automatische Vergrößerung/Maximale Größe</value>
</data>
<data name="general_builderText" xml:space="preserve">
<value>...</value>
</data>
<data name="general_default" xml:space="preserve">
<value>&lt;Standard&gt;</value>
</data>
<data name="general_fileGroup" xml:space="preserve">
<value>Dateigruppe</value>
</data>
<data name="general_fileName" xml:space="preserve">
<value>Logischer Name</value>
</data>
<data name="general_fileType" xml:space="preserve">
<value>Dateityp</value>
</data>
<data name="general_initialSize" xml:space="preserve">
<value>Anfangsgröße (MB)</value>
</data>
<data name="general_newFilegroup" xml:space="preserve">
<value>&lt;neue Dateigruppe&gt;</value>
</data>
<data name="general_path" xml:space="preserve">
<value>Pfad</value>
</data>
<data name="general_physicalFileName" xml:space="preserve">
<value>Dateiname</value>
</data>
<data name="general_rawDevice" xml:space="preserve">
<value>&lt;unformatiertes Medium&gt;</value>
</data>
<data name="general_recoveryModel_bulkLogged" xml:space="preserve">
<value>Massenprotokolliert</value>
</data>
<data name="general_recoveryModel_full" xml:space="preserve">
<value>Vollständig</value>
</data>
<data name="general_recoveryModel_simple" xml:space="preserve">
<value>Einfach</value>
</data>
<data name="general_titleSearchOwner" xml:space="preserve">
<value>Datenbankbesitzer auswählen</value>
</data>
<data name="prototype_autogrowth_disabled" xml:space="preserve">
<value>Kein(e)</value>
</data>
<data name="prototype_autogrowth_restrictedGrowthByMB" xml:space="preserve">
<value>Um {0} MB, auf {1} MB beschränkt</value>
</data>
<data name="prototype_autogrowth_restrictedGrowthByPercent" xml:space="preserve">
<value>Um {0} Prozent, auf {1} MB beschränkt </value>
</data>
<data name="prototype_autogrowth_unrestrictedGrowthByMB" xml:space="preserve">
<value>Um {0} MB, unbegrenzt</value>
</data>
<data name="prototype_autogrowth_unrestrictedGrowthByPercent" xml:space="preserve">
<value>Um {0} Prozent, unbegrenzt</value>
</data>
<data name="prototype_autogrowth_unlimitedfilestream" xml:space="preserve">
<value>Unbegrenzt</value>
</data>
<data name="prototype_autogrowth_limitedfilestream" xml:space="preserve">
<value>Auf {0} MB beschränkt</value>
</data>
<data name="prototype_db_category_automatic" xml:space="preserve">
<value>Automatisch</value>
</data>
<data name="prototype_db_category_servicebroker" xml:space="preserve">
<value>Service Broker</value>
</data>
<data name="prototype_db_category_collation" xml:space="preserve">
<value>Sortierung</value>
</data>
<data name="prototype_db_category_cursor" xml:space="preserve">
<value>Cursor</value>
</data>
<data name="prototype_db_category_misc" xml:space="preserve">
<value>Verschiedenes</value>
</data>
<data name="prototype_db_category_recovery" xml:space="preserve">
<value>Wiederherstellung</value>
</data>
<data name="prototype_db_category_state" xml:space="preserve">
<value>Status</value>
</data>
<data name="prototype_db_prop_ansiNullDefault" xml:space="preserve">
<value>ANSI NULL Default</value>
</data>
<data name="prototype_db_prop_ansiNulls" xml:space="preserve">
<value>ANSI NULLS aktiviert</value>
</data>
<data name="prototype_db_prop_ansiPadding" xml:space="preserve">
<value>ANSI-Auffüllung aktiviert </value>
</data>
<data name="prototype_db_prop_ansiWarnings" xml:space="preserve">
<value>ANSI Warnings aktiviert</value>
</data>
<data name="prototype_db_prop_arithabort" xml:space="preserve">
<value>Abbruch bei arithmetischem Fehler aktiviert </value>
</data>
<data name="prototype_db_prop_autoClose" xml:space="preserve">
<value>Automatisch schließen</value>
</data>
<data name="prototype_db_prop_autoCreateStatistics" xml:space="preserve">
<value>Statistik automatisch erstellen</value>
</data>
<data name="prototype_db_prop_autoShrink" xml:space="preserve">
<value>Automatisch verkleinern</value>
</data>
<data name="prototype_db_prop_autoUpdateStatistics" xml:space="preserve">
<value>Statistiken automatisch aktualisieren </value>
</data>
<data name="prototype_db_prop_autoUpdateStatisticsAsync" xml:space="preserve">
<value>Statistik automatisch asynchron aktualisieren</value>
</data>
<data name="prototype_db_prop_caseSensitive" xml:space="preserve">
<value>Unterscheidung nach Groß-/Kleinschreibung</value>
</data>
<data name="prototype_db_prop_closeCursorOnCommit" xml:space="preserve">
<value>Schließen des Cursors nach Commit aktiviert </value>
</data>
<data name="prototype_db_prop_collation" xml:space="preserve">
<value>Sortierung</value>
</data>
<data name="prototype_db_prop_concatNullYieldsNull" xml:space="preserve">
<value>Verketten von NULL-Werten ergibt NULL </value>
</data>
<data name="prototype_db_prop_databaseCompatibilityLevel" xml:space="preserve">
<value>Datenbank-Kompatibilitätsgrad </value>
</data>
<data name="prototype_db_prop_databaseState" xml:space="preserve">
<value>Datenbankstatus </value>
</data>
<data name="prototype_db_prop_defaultCursor" xml:space="preserve">
<value>Standardcursor</value>
</data>
<data name="prototype_db_prop_fullTextIndexing" xml:space="preserve">
<value>Volltextindizierung aktiviert </value>
</data>
<data name="prototype_db_prop_numericRoundAbort" xml:space="preserve">
<value>Abbruch bei numerischem Runden </value>
</data>
<data name="prototype_db_prop_pageVerify" xml:space="preserve">
<value>Seitenüberprüfung </value>
</data>
<data name="prototype_db_prop_quotedIdentifier" xml:space="preserve">
<value>Bezeichner in Anführungszeichen aktiviert </value>
</data>
<data name="prototype_db_prop_readOnly" xml:space="preserve">
<value>Datenbank schreibgeschützt</value>
</data>
<data name="prototype_db_prop_recursiveTriggers" xml:space="preserve">
<value>Rekursive Trigger aktiviert </value>
</data>
<data name="prototype_db_prop_restrictAccess" xml:space="preserve">
<value>Zugriff beschränken</value>
</data>
<data name="prototype_db_prop_selectIntoBulkCopy" xml:space="preserve">
<value>Select Into/Bulk Copy</value>
</data>
<data name="prototype_db_prop_honorBrokerPriority" xml:space="preserve">
<value>Brokerpriorität berücksichtigen</value>
</data>
<data name="prototype_db_prop_serviceBrokerGuid" xml:space="preserve">
<value>Service Broker-Bezeichner</value>
</data>
<data name="prototype_db_prop_brokerEnabled" xml:space="preserve">
<value>Broker aktiviert</value>
</data>
<data name="prototype_db_prop_truncateLogOnCheckpoint" xml:space="preserve">
<value>Protokoll bei Prüfpunkt abschneiden </value>
</data>
<data name="prototype_db_prop_dbChaining" xml:space="preserve">
<value>Datenbankübergreifende Besitzverkettung aktiviert</value>
</data>
<data name="prototype_db_prop_trustworthy" xml:space="preserve">
<value>Vertrauenswürdig</value>
</data>
<data name="prototype_db_prop_dateCorrelationOptimization" xml:space="preserve">
<value>Optimierung der Datumskorrelation aktiviert:
prototype_db_prop_parameterization = Parameterization</value>
</data>
<data name="prototype_db_prop_parameterization_value_forced" xml:space="preserve">
<value>Erzwungen</value>
</data>
<data name="prototype_db_prop_parameterization_value_simple" xml:space="preserve">
<value>Einfach</value>
</data>
<data name="prototype_file_dataFile" xml:space="preserve">
<value>ROWS (Daten)</value>
</data>
<data name="prototype_file_logFile" xml:space="preserve">
<value>LOG</value>
</data>
<data name="prototype_file_filestreamFile" xml:space="preserve">
<value>FILESTREAM-Daten</value>
</data>
<data name="prototype_file_noFileGroup" xml:space="preserve">
<value>Nicht zutreffend</value>
</data>
<data name="prototype_file_defaultpathstring" xml:space="preserve">
<value>&lt;Standardpfad&gt;</value>
</data>
<data name="title_openConnectionsMustBeClosed" xml:space="preserve">
<value>Geöffnete Verbindungen</value>
</data>
<data name="warning_openConnectionsMustBeClosed" xml:space="preserve">
<value>Zum Ändern der Datenbankeigenschaften muss SQL Server alle anderen Verbindungen mit der Datenbank schließen. Möchten Sie wirklich die Eigenschaften ändern und alle anderen Verbindungen schließen?</value>
</data>
<data name="prototype_db_prop_databaseState_value_autoClosed" xml:space="preserve">
<value>AUTO_CLOSED</value>
</data>
<data name="prototype_db_prop_databaseState_value_emergency" xml:space="preserve">
<value>EMERGENCY</value>
</data>
<data name="prototype_db_prop_databaseState_value_inaccessible" xml:space="preserve">
<value>INACCESSIBLE</value>
</data>
<data name="prototype_db_prop_databaseState_value_normal" xml:space="preserve">
<value>NORMAL</value>
</data>
<data name="prototype_db_prop_databaseState_value_offline" xml:space="preserve">
<value>OFFLINE</value>
</data>
<data name="prototype_db_prop_databaseState_value_recovering" xml:space="preserve">
<value>RECOVERING</value>
</data>
<data name="prototype_db_prop_databaseState_value_recoveryPending" xml:space="preserve">
<value>RECOVERY PENDING</value>
</data>
<data name="prototype_db_prop_databaseState_value_restoring" xml:space="preserve">
<value>RESTORING</value>
</data>
<data name="prototype_db_prop_databaseState_value_shutdown" xml:space="preserve">
<value>SHUTDOWN</value>
</data>
<data name="prototype_db_prop_databaseState_value_standby" xml:space="preserve">
<value>STANDBY</value>
</data>
<data name="prototype_db_prop_databaseState_value_suspect" xml:space="preserve">
<value>SUSPECT</value>
</data>
<data name="prototype_db_prop_defaultCursor_value_global" xml:space="preserve">
<value>GLOBAL</value>
</data>
<data name="prototype_db_prop_defaultCursor_value_local" xml:space="preserve">
<value>LOCAL</value>
</data>
<data name="prototype_db_prop_restrictAccess_value_multiple" xml:space="preserve">
<value>MULTI_USER</value>
</data>
<data name="prototype_db_prop_restrictAccess_value_restricted" xml:space="preserve">
<value>RESTRICTED_USER</value>
</data>
<data name="prototype_db_prop_restrictAccess_value_single" xml:space="preserve">
<value>SINGLE_USER</value>
</data>
<data name="prototype_db_prop_pageVerify_value_checksum" xml:space="preserve">
<value>CHECKSUM</value>
</data>
<data name="prototype_db_prop_pageVerify_value_none" xml:space="preserve">
<value>NONE</value>
</data>
<data name="prototype_db_prop_pageVerify_value_tornPageDetection" xml:space="preserve">
<value>TORN_PAGE_DETECTION</value>
</data>
<data name="prototype_db_prop_varDecimalEnabled" xml:space="preserve">
<value>VarDecimal-Speicherformat aktiviert</value>
</data>
<data name="compatibilityLevel_katmai" xml:space="preserve">
<value>SQL Server 2008 (100)</value>
</data>
<data name="prototype_db_prop_encryptionEnabled" xml:space="preserve">
<value>Verschlüsselung aktiviert</value>
</data>
<data name="prototype_db_prop_databasescopedconfig_value_off" xml:space="preserve">
<value>AUS</value>
</data>
<data name="prototype_db_prop_databasescopedconfig_value_on" xml:space="preserve">
<value>EIN</value>
</data>
<data name="prototype_db_prop_databasescopedconfig_value_primary" xml:space="preserve">
<value>PRIMÄR</value>
</data>
<data name="error_db_prop_invalidleadingColumns" xml:space="preserve">
<value>Die Anzahl führender Hashspalten ist bei der HASH-Verteilungsrichtlinie optional, sollte aber zwischen 1 und 16 Spalten liegen.</value>
</data>
<data name="compatibilityLevel_denali" xml:space="preserve">
<value>SQL Server 2012 (110)</value>
</data>
<data name="compatibilityLevel_sql14" xml:space="preserve">
<value>SQL Server 2014 (120)</value>
</data>
<data name="compatibilityLevel_sql15" xml:space="preserve">
<value>SQL Server 2016 (130)</value>
</data>
<data name="compatibilityLevel_sqlvNext" xml:space="preserve">
<value>SQL Server vNext (140)</value>
</data>
<data name="general_containmentType_None" xml:space="preserve">
<value>Kein(e)</value>
</data>
<data name="general_containmentType_Partial" xml:space="preserve">
<value>Teilweise</value>
</data>
<data name="filegroups_filestreamFiles" xml:space="preserve">
<value>FILESTREAM-Dateien</value>
</data>
<data name="prototype_file_noApplicableFileGroup" xml:space="preserve">
<value>Keine anwendbare Dateigruppe</value>
</data>
<data name="DatabaseNotAccessible" xml:space="preserve">
<value>Auf die Datenbank "{0}" kann nicht zugegriffen werden.</value>
</data>
<data name="QueryServiceResultSetHasNoResults" xml:space="preserve">
<value>Abfrage hat keine Ergebnis zum Zurückgeben</value>
</data>
<data name="QueryServiceResultSetTooLarge" xml:space="preserve">
<value>Ergebnismenge ist zu groß, um sicher geladen zu werden</value>
</data>
<data name="Backup_TaskName" xml:space="preserve">
<value>Datenbank sichern</value>
</data>
<data name="Task_InProgress" xml:space="preserve">
<value>In Bearbeitung</value>
</data>
<data name="Task_Completed" xml:space="preserve">
<value>Abgeschlossen</value>
</data>
<data name="prototype_db_prop_parameterization" xml:space="preserve">
<value>Parametrisierung</value>
</data>
</root>

View File

@@ -468,6 +468,12 @@
<data name="EditDataObjectNotFound" xml:space="preserve">
<value>La tabla o vista solicitada para edición no se encuentra</value>
</data>
<data name="TreeNodeError" xml:space="preserve">
<value>Error en expansión: {0}</value>
</data>
<data name="ServerNodeConnectionError" xml:space="preserve">
<value>Error conectando a {0}</value>
</data>
<data name="SchemaHierarchy_Aggregates" xml:space="preserve">
<value>Agregados</value>
</data>
@@ -520,7 +526,7 @@
<value>Mensajes de error</value>
</data>
<data name="SchemaHierarchy_ServerRoleMembership" xml:space="preserve">
<value>Pertenencia a rol de servidor</value>
<value>Pertenencia a roles de servidor</value>
</data>
<data name="SchemaHierarchy_DatabaseOptions" xml:space="preserve">
<value>Opciones de base de datos</value>
@@ -583,7 +589,7 @@
<value>Servidores vinculados</value>
</data>
<data name="SchemaHierarchy_LinkedServerLogins" xml:space="preserve">
<value>Inicios de sesión de servidores vinculados</value>
<value>Inicios de sesión de servidor vinculado</value>
</data>
<data name="SchemaHierarchy_Logins" xml:space="preserve">
<value>Inicios de sesión</value>
@@ -625,7 +631,7 @@
<value>Enlaces de servicio remoto</value>
</data>
<data name="SchemaHierarchy_ReturnedColumns" xml:space="preserve">
<value>Columnas devueltas</value>
<value>Columnas devueltos</value>
</data>
<data name="SchemaHierarchy_Roles" xml:space="preserve">
<value>Roles</value>
@@ -912,9 +918,6 @@
<data name="SchemaHierarchy_TableTypeIndexes" xml:space="preserve">
<value>Índices de tipo de tabla</value>
</data>
<data name="SchemaHierarchy_ServerInstance" xml:space="preserve">
<value>instanciaDeServidor</value>
</data>
<data name="SchemaHierarchy_SelectiveXmlIndexes" xml:space="preserve">
<value>Índices XML selectivos</value>
</data>
@@ -951,4 +954,436 @@
<data name="SchemaHierarchy_ColumnEncryptionKeys" xml:space="preserve">
<value>Claves de cifrado de columna</value>
</data>
<data name="SchemaHierarchy_Server" xml:space="preserve">
<value>Servidor</value>
</data>
<data name="ScriptingParams_ConnectionString_Property_Invalid" xml:space="preserve">
<value>Error interpretando la propiedad ScriptingParams.ConnectionString</value>
</data>
<data name="ScriptingParams_FilePath_Property_Invalid" xml:space="preserve">
<value>El directorio especificado en la propiedad ScriptingParams.FilePath no es válido</value>
</data>
<data name="ScriptingListObjectsCompleteParams_ConnectionString_Property_Invalid" xml:space="preserve">
<value>Error interpretando la propiedad ScriptingListObjectsCompleteParams.ConnectionString</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterLabelFormatString" xml:space="preserve">
<value>{0} ({1}, {2}, {3})</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterNoDefaultLabel" xml:space="preserve">
<value>Sin valores predeterminados</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputLabel" xml:space="preserve">
<value>Entrada</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputOutputLabel" xml:space="preserve">
<value>Entrada/salida</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputReadOnlyLabel" xml:space="preserve">
<value>Entrada/solo lectura</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputOutputReadOnlyLabel" xml:space="preserve">
<value>Entrada/salida/solo lectura</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterDefaultLabel" xml:space="preserve">
<value>Predeterminado</value>
</data>
<data name="SchemaHierarchy_NullColumn_Label" xml:space="preserve">
<value>NULL</value>
</data>
<data name="SchemaHierarchy_NotNullColumn_Label" xml:space="preserve">
<value>no es NULL</value>
</data>
<data name="SchemaHierarchy_UDDTLabelWithType" xml:space="preserve">
<value>{0} ({1}, {2})</value>
</data>
<data name="SchemaHierarchy_UDDTLabelWithoutType" xml:space="preserve">
<value>{0} ({1})</value>
</data>
<data name="SchemaHierarchy_ComputedColumnLabelWithType" xml:space="preserve">
<value>{0} ({1}calculado, {2}, {3})</value>
</data>
<data name="SchemaHierarchy_ComputedColumnLabelWithoutType" xml:space="preserve">
<value>{0} ({1}calculado)</value>
</data>
<data name="SchemaHierarchy_ColumnSetLabelWithoutType" xml:space="preserve">
<value>{0} (Conjunto de columnas, {1})</value>
</data>
<data name="SchemaHierarchy_ColumnSetLabelWithType" xml:space="preserve">
<value>{0} (Conjunto de columnas, {1}{2}, {3})</value>
</data>
<data name="SchemaHierarchy_ColumnSetLabelWithTypeAndKeyString" xml:space="preserve">
<value>{0} (Conjunto de columnas, {1}, {2}, {3})</value>
</data>
<data name="UniqueIndex_LabelPart" xml:space="preserve">
<value>Único</value>
</data>
<data name="NonUniqueIndex_LabelPart" xml:space="preserve">
<value>No único</value>
</data>
<data name="ClusteredIndex_LabelPart" xml:space="preserve">
<value>Clúster</value>
</data>
<data name="NonClusteredIndex_LabelPart" xml:space="preserve">
<value>No en clúster</value>
</data>
<data name="History_LabelPart" xml:space="preserve">
<value>Historial</value>
</data>
<data name="SystemVersioned_LabelPart" xml:space="preserve">
<value>Con versión del sistema</value>
</data>
<data name="unavailable" xml:space="preserve">
<value>No disponible</value>
</data>
<data name="filegroup_dialog_defaultFilegroup" xml:space="preserve">
<value>Grupo de archivos predeterminado: {0}</value>
</data>
<data name="filegroup_dialog_title" xml:space="preserve">
<value>Grupo de archivos nuevo para: {0}</value>
</data>
<data name="filegroups_default" xml:space="preserve">
<value>Predeterminado</value>
</data>
<data name="filegroups_files" xml:space="preserve">
<value>Archivos</value>
</data>
<data name="filegroups_name" xml:space="preserve">
<value>Nombre</value>
</data>
<data name="filegroups_readonly" xml:space="preserve">
<value>Solo lectura</value>
</data>
<data name="general_autogrowth" xml:space="preserve">
<value>Crecimiento automático / tamaño máximo</value>
</data>
<data name="general_builderText" xml:space="preserve">
<value>...</value>
</data>
<data name="general_default" xml:space="preserve">
<value>&lt;predeterminado&gt;</value>
</data>
<data name="general_fileGroup" xml:space="preserve">
<value>Grupo de archivos</value>
</data>
<data name="general_fileName" xml:space="preserve">
<value>Nombre lógico</value>
</data>
<data name="general_fileType" xml:space="preserve">
<value>Tipo de archivo</value>
</data>
<data name="general_initialSize" xml:space="preserve">
<value>Tamaño inicial (MB)</value>
</data>
<data name="general_newFilegroup" xml:space="preserve">
<value>&lt;nuevo grupo de archivos&gt;</value>
</data>
<data name="general_path" xml:space="preserve">
<value>Ruta de acceso</value>
</data>
<data name="general_physicalFileName" xml:space="preserve">
<value>Nombre de archivo</value>
</data>
<data name="general_rawDevice" xml:space="preserve">
<value>&lt;dispositivo sin formato&gt;</value>
</data>
<data name="general_recoveryModel_bulkLogged" xml:space="preserve">
<value>Registro masivo</value>
</data>
<data name="general_recoveryModel_full" xml:space="preserve">
<value>Completo</value>
</data>
<data name="general_recoveryModel_simple" xml:space="preserve">
<value>Simple</value>
</data>
<data name="general_titleSearchOwner" xml:space="preserve">
<value>Seleccionar propietario de base de datos</value>
</data>
<data name="prototype_autogrowth_disabled" xml:space="preserve">
<value>Ninguno</value>
</data>
<data name="prototype_autogrowth_restrictedGrowthByMB" xml:space="preserve">
<value>Por {0} MB, limitado a {1} MB</value>
</data>
<data name="prototype_autogrowth_restrictedGrowthByPercent" xml:space="preserve">
<value>Por {0} porciento, limitado a {1} MB</value>
</data>
<data name="prototype_autogrowth_unrestrictedGrowthByMB" xml:space="preserve">
<value>Por {0} MB, sin límite</value>
</data>
<data name="prototype_autogrowth_unrestrictedGrowthByPercent" xml:space="preserve">
<value>Por {0} porciento, sin límite</value>
</data>
<data name="prototype_autogrowth_unlimitedfilestream" xml:space="preserve">
<value>Sin límite</value>
</data>
<data name="prototype_autogrowth_limitedfilestream" xml:space="preserve">
<value>Limitado a {0} MB</value>
</data>
<data name="prototype_db_category_automatic" xml:space="preserve">
<value>Automático</value>
</data>
<data name="prototype_db_category_servicebroker" xml:space="preserve">
<value>Service Broker</value>
</data>
<data name="prototype_db_category_collation" xml:space="preserve">
<value>Intercalación</value>
</data>
<data name="prototype_db_category_cursor" xml:space="preserve">
<value>Cursor</value>
</data>
<data name="prototype_db_category_misc" xml:space="preserve">
<value>Varios</value>
</data>
<data name="prototype_db_category_recovery" xml:space="preserve">
<value>Recuperación</value>
</data>
<data name="prototype_db_category_state" xml:space="preserve">
<value>Estado</value>
</data>
<data name="prototype_db_prop_ansiNullDefault" xml:space="preserve">
<value>ANSI NULL predeterminado</value>
</data>
<data name="prototype_db_prop_ansiNulls" xml:space="preserve">
<value>ANSI NULLS habilitados</value>
</data>
<data name="prototype_db_prop_ansiPadding" xml:space="preserve">
<value>Relleno ANSI habilitado</value>
</data>
<data name="prototype_db_prop_ansiWarnings" xml:space="preserve">
<value>Advertencias ANSI habilitadas</value>
</data>
<data name="prototype_db_prop_arithabort" xml:space="preserve">
<value>Anulación aritmética habilitada</value>
</data>
<data name="prototype_db_prop_autoClose" xml:space="preserve">
<value>Cierre automático</value>
</data>
<data name="prototype_db_prop_autoCreateStatistics" xml:space="preserve">
<value>Crear estadísticas automáticamente</value>
</data>
<data name="prototype_db_prop_autoShrink" xml:space="preserve">
<value>Reducir automáticamente</value>
</data>
<data name="prototype_db_prop_autoUpdateStatistics" xml:space="preserve">
<value>Actualizar estadísticas automáticamente</value>
</data>
<data name="prototype_db_prop_autoUpdateStatisticsAsync" xml:space="preserve">
<value>Actualizar estadísticas automáticamente de forma asincrónica</value>
</data>
<data name="prototype_db_prop_caseSensitive" xml:space="preserve">
<value>Sensible a mayúsculas y minúsculas</value>
</data>
<data name="prototype_db_prop_closeCursorOnCommit" xml:space="preserve">
<value>Cierre del cursor al confirmar habilitado</value>
</data>
<data name="prototype_db_prop_collation" xml:space="preserve">
<value>Intercalación</value>
</data>
<data name="prototype_db_prop_concatNullYieldsNull" xml:space="preserve">
<value>Concatenar valores NULL produce NULL</value>
</data>
<data name="prototype_db_prop_databaseCompatibilityLevel" xml:space="preserve">
<value>Nivel de compatibilidad de base de datos</value>
</data>
<data name="prototype_db_prop_databaseState" xml:space="preserve">
<value>Estado de la base de datos</value>
</data>
<data name="prototype_db_prop_defaultCursor" xml:space="preserve">
<value>Cursor predeterminado</value>
</data>
<data name="prototype_db_prop_fullTextIndexing" xml:space="preserve">
<value>Índice de texto completo habilitado</value>
</data>
<data name="prototype_db_prop_numericRoundAbort" xml:space="preserve">
<value>Anular redondeo numérico</value>
</data>
<data name="prototype_db_prop_pageVerify" xml:space="preserve">
<value>Comprobación de página</value>
</data>
<data name="prototype_db_prop_quotedIdentifier" xml:space="preserve">
<value>Identificadores entre comillas habilitados</value>
</data>
<data name="prototype_db_prop_readOnly" xml:space="preserve">
<value>Base de datos de solo lectura</value>
</data>
<data name="prototype_db_prop_recursiveTriggers" xml:space="preserve">
<value>Desencadenadores recursivos habilitados</value>
</data>
<data name="prototype_db_prop_restrictAccess" xml:space="preserve">
<value>Restringir acceso</value>
</data>
<data name="prototype_db_prop_selectIntoBulkCopy" xml:space="preserve">
<value>Select Into/Bulk Copy</value>
</data>
<data name="prototype_db_prop_honorBrokerPriority" xml:space="preserve">
<value>Asignar prioridad de agente</value>
</data>
<data name="prototype_db_prop_serviceBrokerGuid" xml:space="preserve">
<value>Identificador de Service Broker</value>
</data>
<data name="prototype_db_prop_brokerEnabled" xml:space="preserve">
<value>Broker habilitado</value>
</data>
<data name="prototype_db_prop_truncateLogOnCheckpoint" xml:space="preserve">
<value>Truncar registro en el punto de control</value>
</data>
<data name="prototype_db_prop_dbChaining" xml:space="preserve">
<value>Encadenamiento de propiedad entre bases de datos habilitado</value>
</data>
<data name="prototype_db_prop_trustworthy" xml:space="preserve">
<value>De confianza</value>
</data>
<data name="prototype_db_prop_dateCorrelationOptimization" xml:space="preserve">
<value>Optimización de correlación de fechas Enabledprototype_db_prop_parameterization = Parameterization</value>
</data>
<data name="prototype_db_prop_parameterization_value_forced" xml:space="preserve">
<value>Forzado</value>
</data>
<data name="prototype_db_prop_parameterization_value_simple" xml:space="preserve">
<value>Simple</value>
</data>
<data name="prototype_file_dataFile" xml:space="preserve">
<value>Datos de ROWS</value>
</data>
<data name="prototype_file_logFile" xml:space="preserve">
<value>LOG</value>
</data>
<data name="prototype_file_filestreamFile" xml:space="preserve">
<value>Datos de FILESTREAM</value>
</data>
<data name="prototype_file_noFileGroup" xml:space="preserve">
<value>No aplicable</value>
</data>
<data name="prototype_file_defaultpathstring" xml:space="preserve">
<value>&lt;ruta predeterminada&gt;</value>
</data>
<data name="title_openConnectionsMustBeClosed" xml:space="preserve">
<value>Conexiones abiertas</value>
</data>
<data name="warning_openConnectionsMustBeClosed" xml:space="preserve">
<value>Para cambiar las propiedades de la base de datos, SQL Server debe cerrar todas las otras conexiones a la base de datos. ¿Seguro que desea cambiar las propiedades y cerrar todas las otras conexiones?</value>
</data>
<data name="prototype_db_prop_databaseState_value_autoClosed" xml:space="preserve">
<value>AUTO_CLOSED</value>
</data>
<data name="prototype_db_prop_databaseState_value_emergency" xml:space="preserve">
<value>EMERGENCY</value>
</data>
<data name="prototype_db_prop_databaseState_value_inaccessible" xml:space="preserve">
<value>INACCESSIBLE</value>
</data>
<data name="prototype_db_prop_databaseState_value_normal" xml:space="preserve">
<value>NORMAL</value>
</data>
<data name="prototype_db_prop_databaseState_value_offline" xml:space="preserve">
<value>OFFLINE</value>
</data>
<data name="prototype_db_prop_databaseState_value_recovering" xml:space="preserve">
<value>RECOVERING</value>
</data>
<data name="prototype_db_prop_databaseState_value_recoveryPending" xml:space="preserve">
<value>RECOVERY PENDING</value>
</data>
<data name="prototype_db_prop_databaseState_value_restoring" xml:space="preserve">
<value>RESTORING</value>
</data>
<data name="prototype_db_prop_databaseState_value_shutdown" xml:space="preserve">
<value>SHUTDOWN</value>
</data>
<data name="prototype_db_prop_databaseState_value_standby" xml:space="preserve">
<value>STANDBY</value>
</data>
<data name="prototype_db_prop_databaseState_value_suspect" xml:space="preserve">
<value>SUSPECT</value>
</data>
<data name="prototype_db_prop_defaultCursor_value_global" xml:space="preserve">
<value>GLOBAL</value>
</data>
<data name="prototype_db_prop_defaultCursor_value_local" xml:space="preserve">
<value>LOCAL</value>
</data>
<data name="prototype_db_prop_restrictAccess_value_multiple" xml:space="preserve">
<value>MULTI_USER</value>
</data>
<data name="prototype_db_prop_restrictAccess_value_restricted" xml:space="preserve">
<value>RESTRICTED_USER</value>
</data>
<data name="prototype_db_prop_restrictAccess_value_single" xml:space="preserve">
<value>SINGLE_USER</value>
</data>
<data name="prototype_db_prop_pageVerify_value_checksum" xml:space="preserve">
<value>CHECKSUM</value>
</data>
<data name="prototype_db_prop_pageVerify_value_none" xml:space="preserve">
<value>NONE</value>
</data>
<data name="prototype_db_prop_pageVerify_value_tornPageDetection" xml:space="preserve">
<value>TORN_PAGE_DETECTION</value>
</data>
<data name="prototype_db_prop_varDecimalEnabled" xml:space="preserve">
<value>Formato de almacenamiento VarDecimal habilitado</value>
</data>
<data name="compatibilityLevel_katmai" xml:space="preserve">
<value>SQL Server 2008 (100)</value>
</data>
<data name="prototype_db_prop_encryptionEnabled" xml:space="preserve">
<value>Cifrado habilitado</value>
</data>
<data name="prototype_db_prop_databasescopedconfig_value_off" xml:space="preserve">
<value>OFF</value>
</data>
<data name="prototype_db_prop_databasescopedconfig_value_on" xml:space="preserve">
<value>ON</value>
</data>
<data name="prototype_db_prop_databasescopedconfig_value_primary" xml:space="preserve">
<value>PRIMARY</value>
</data>
<data name="error_db_prop_invalidleadingColumns" xml:space="preserve">
<value>Para la directiva de distribución HASH, el número de columnas iniciales hash es opcional pero debe de ser entre 1 y 16 columnas</value>
</data>
<data name="compatibilityLevel_denali" xml:space="preserve">
<value>SQL Server 2012 (110)</value>
</data>
<data name="compatibilityLevel_sql14" xml:space="preserve">
<value>SQL Server 2014 (120)</value>
</data>
<data name="compatibilityLevel_sql15" xml:space="preserve">
<value>SQL Server 2016 (130)</value>
</data>
<data name="compatibilityLevel_sqlvNext" xml:space="preserve">
<value>SQL Server vNext (140)</value>
</data>
<data name="general_containmentType_None" xml:space="preserve">
<value>Ninguno</value>
</data>
<data name="general_containmentType_Partial" xml:space="preserve">
<value>Parcial</value>
</data>
<data name="filegroups_filestreamFiles" xml:space="preserve">
<value>Archivos FILESTREAM</value>
</data>
<data name="prototype_file_noApplicableFileGroup" xml:space="preserve">
<value>Grupo de archivos no aplicable</value>
</data>
<data name="DatabaseNotAccessible" xml:space="preserve">
<value>La base de datos {0} no es accesible.</value>
</data>
<data name="QueryServiceResultSetHasNoResults" xml:space="preserve">
<value>La consulta no devolvió resultados</value>
</data>
<data name="QueryServiceResultSetTooLarge" xml:space="preserve">
<value>El conjunto de resultados contiene demasiada filas para cargarlo de forma segura</value>
</data>
<data name="Backup_TaskName" xml:space="preserve">
<value>Copia de seguridad de la base de datos</value>
</data>
<data name="Task_InProgress" xml:space="preserve">
<value>En curso</value>
</data>
<data name="Task_Completed" xml:space="preserve">
<value>Completado</value>
</data>
<data name="prototype_db_prop_parameterization" xml:space="preserve">
<value>Parametrización</value>
</data>
</root>

View File

@@ -127,7 +127,7 @@
<value>SpecifiedUri '{0}' na pas de connexion existante</value>
</data>
<data name="ConnectionServiceConnStringInvalidAuthType" xml:space="preserve">
<value>Valeur non valide '{0}' pour AuthenticationType. Les valeurs valides sont « Intégré » et « SqlLogin ».</value>
<value>Valeur '{0}' non valide pour AuthenticationType. Les valeurs valides sont 'Integrated' et 'SqlLogin'.</value>
</data>
<data name="ConnectionServiceConnStringInvalidIntent" xml:space="preserve">
<value>Valeur '{0}' non valide pour ApplicationIntent. Les valeurs valides sont 'ReadWrite' et 'ReadOnly'.</value>
@@ -145,13 +145,13 @@
<value>ServerName ne peut pas être null ou vide</value>
</data>
<data name="ConnectionParamsValidateNullSqlAuth" xml:space="preserve">
<value>{0} ne peut pas être null ou vide lors de lutilisation de lauthentification SqlLogin</value>
<value>{0} ne peut pas être nul ou vide quand l'authentification SqlLogin est utilisée</value>
</data>
<data name="QueryServiceCancelAlreadyCompleted" xml:space="preserve">
<value>La requête a déjà terminé, il ne peut pas être annulée</value>
<value>La requête est déjà terminée, elle ne peut pas être annulée.</value>
</data>
<data name="QueryServiceCancelDisposeFailed" xml:space="preserve">
<value>Requête annulée avec succès, na pas pu supprimer la requête. Propriétaire dURI non trouvé.</value>
<value>Requête annulée avec succès, échec de la libération de la requête. L'URI propriétaire n'a pas été trouvée.</value>
</data>
<data name="QueryServiceQueryCancelled" xml:space="preserve">
<value>La requête a été annulée par lutilisateur</value>
@@ -163,16 +163,16 @@
<value>Index de lot ne peut pas être inférieur à 0 ou supérieur au nombre de lots</value>
</data>
<data name="QueryServiceSubsetResultSetOutOfRange" xml:space="preserve">
<value>Index du jeu de résultats ne peut pas être inférieur à 0 ou supérieur au nombre de jeux de résultats</value>
<value>L'index de résultats ne peut pas être inférieur à 0 ou supérieur au nombre de résultats</value>
</data>
<data name="QueryServiceDataReaderByteCountInvalid" xml:space="preserve">
<value>Nombre maximal doctets à renvoyer doit être supérieur à zéro</value>
<value>Le nombre maximal d'octets à renvoyer doit être supérieur à zéro</value>
</data>
<data name="QueryServiceDataReaderCharCountInvalid" xml:space="preserve">
<value>Nombre maximal de caractères à renvoyer doit être supérieur à zéro</value>
<value>Le nombre maximal de caractères à renvoyer doit être supérieur à zéro</value>
</data>
<data name="QueryServiceDataReaderXmlCountInvalid" xml:space="preserve">
<value>Nombre maximal doctets XML pour renvoyer doit être supérieur à zéro</value>
<value>Le nombre maximal doctets XML à renvoyer doit être supérieur à zéro</value>
</data>
<data name="QueryServiceFileWrapperWriteOnly" xml:space="preserve">
<value>Méthode daccès ne peut pas être en écriture seule</value>
@@ -190,13 +190,13 @@
<value>({0} lignes affectées)</value>
</data>
<data name="QueryServiceCompletedSuccessfully" xml:space="preserve">
<value>Commandes sest terminées correctement.</value>
<value>Commandes terminées avec succès.</value>
</data>
<data name="QueryServiceErrorFormat" xml:space="preserve">
<value>Msg {0}, au niveau état {2}, {1}, ligne {3} {4} {5}</value>
</data>
<data name="QueryServiceQueryFailed" xml:space="preserve">
<value>La requête a échoué : {0}</value>
<value>La requête a échoué : {0}</value>
</data>
<data name="QueryServiceColumnNull" xml:space="preserve">
<value>(Aucun nom de colonne)</value>
@@ -217,40 +217,40 @@
<value>Impossible denregistrer les résultats jusqu'à ce que lexécution de la requête est terminée.</value>
</data>
<data name="QueryServiceSaveAsMiscStartingError" xml:space="preserve">
<value>Une erreur interne sest produite lors du démarrage denregistrement</value>
<value>Une erreur interne s'est produite lors du démarrage de la tâche de sauvegarde.</value>
</data>
<data name="QueryServiceSaveAsInProgress" xml:space="preserve">
<value>Une demande vers le même chemin de sauvegarde est en cours</value>
<value>Une requête de sauvegarde vers le même chemin est en cours</value>
</data>
<data name="QueryServiceSaveAsFail" xml:space="preserve">
<value>Impossible denregistrer {0} : {1}</value>
</data>
<data name="QueryServiceResultSetNotRead" xml:space="preserve">
<value>Impossible de lire le sous-ensemble, sauf si les résultats ont été lus à partir du serveur</value>
<value>Impossible de lire le sous-élément à moins que les résultats aient été lus depuis le serveur</value>
</data>
<data name="QueryServiceResultSetStartRowOutOfRange" xml:space="preserve">
<value>Début de la ligne ne peut pas être inférieur à 0 ou supérieur au nombre de lignes dans le jeu de résultats</value>
<value>La ligne de début ne peut pas être inférieure à 0 ou supérieure au nombre de lignes de résultats</value>
</data>
<data name="QueryServiceResultSetRowCountOutOfRange" xml:space="preserve">
<value>Nombre de lignes doit être un entier positif</value>
<value>Le nombre de lignes doit être un entier positif</value>
</data>
<data name="QueryServiceResultSetNoColumnSchema" xml:space="preserve">
<value>Schéma de colonne de jeu de résultats na pas pu être récupérer</value>
<value>Impossible de récupérer le schéma des colonnes pour le jeu de résultats</value>
</data>
<data name="QueryServiceExecutionPlanNotFound" xml:space="preserve">
<value>Impossible de récupérer un plan dexécution le jeu de résultats</value>
<value>Impossible de récupérer un plan dexécution pour le jeu de résultats</value>
</data>
<data name="PeekDefinitionAzureError" xml:space="preserve">
<value>Cette fonctionnalité nest actuellement pas pris en charge sur la base de données SQL Azure et entrepôt de données : {0}</value>
<value>Cette fonctionnalité n'est actuellement pas supportée sur Azure SQL DB et Data Warehouse : {0}</value>
</data>
<data name="PeekDefinitionError" xml:space="preserve">
<value>Une erreur inattendue sest produite lors de lexécution de lire une définition : {0}</value>
<value>Une erreur inattendue s'est produite lors de l'exécution du coup d'oeil à la définition: {0}.</value>
</data>
<data name="PeekDefinitionNoResultsError" xml:space="preserve">
<value>Aucun résultat na été trouvé.</value>
<value>Aucun résultat trouvé.</value>
</data>
<data name="PeekDefinitionDatabaseError" xml:space="preserve">
<value>Aucun objet de base de données a été récupérée.</value>
<value>Aucun objet de base de données n'a été récupéré.</value>
</data>
<data name="PeekDefinitionNotConnectedError" xml:space="preserve">
<value>Veuillez vous connecter à un serveur.</value>
@@ -259,113 +259,221 @@
<value>Opération a expiré.</value>
</data>
<data name="PeekDefinitionTypeNotSupportedError" xml:space="preserve">
<value>Ce type dobjet nest actuellement pas pris en charge par cette fonctionnalité.</value>
<value>Ce type d'objet n'est actuellement pas supporté par cette fonctionnalité</value>
</data>
<data name="WorkspaceServicePositionLineOutOfRange" xml:space="preserve">
<value>Position est en dehors de la plage de ligne de fichier</value>
<value>La position est en dehors de la plage de lignes du fichier</value>
</data>
<data name="WorkspaceServicePositionColumnOutOfRange" xml:space="preserve">
<value>Position est en dehors de la plage de colonnes de la ligne {0}</value>
<value>La position est en dehors de la plage de colonnes pour la ligne {0}</value>
</data>
<data name="WorkspaceServiceBufferPositionOutOfOrder" xml:space="preserve">
<value>Position de début ({0}, {1}) doit précéder ou être égale à la position de fin ({2}, {3})</value>
</data>
<data name="EE_BatchSqlMessageNoProcedureInfo" xml:space="preserve">
<value>Msg {0}, {1}, niveau détat {2}, ligne {3}</value>
<value>Msg {0}, Niveau {1}, État {2}, Ligne {3}</value>
</data>
<data name="EE_BatchSqlMessageWithProcedureInfo" xml:space="preserve">
<value>Msg {0}, {1}, niveau détat {2}, procédure {3}, ligne {4}</value>
<value>Msg {0}, Niveau {1}, État {2}, Procédure {3}, Ligne {4}</value>
</data>
<data name="EE_BatchSqlMessageNoLineInfo" xml:space="preserve">
<value>Msg {0}, {1}, niveau détat {2}</value>
<value>Msg {0}, Niveau {1}, État {2}</value>
</data>
<data name="EE_BatchError_Exception" xml:space="preserve">
<value>Une erreur sest produite lors du traitement du lot. Le message derreur est : {0}</value>
<value>Une erreur s'est produite lors du traitement du lot. Le message d'erreur est : {0}</value>
</data>
<data name="EE_BatchExecutionInfo_RowsAffected" xml:space="preserve">
<value>({0} lignes affectées)</value>
</data>
<data name="EE_ExecutionNotYetCompleteError" xml:space="preserve">
<value>Lexécution précédente nest pas encore terminée.</value>
<value>L'exécution précédente n'est pas encore terminée.</value>
</data>
<data name="EE_ScriptError_Error" xml:space="preserve">
<value>Une erreur de script sest produite.</value>
<value>Une erreur de script s'est produite.</value>
</data>
<data name="EE_ScriptError_ParsingSyntax" xml:space="preserve">
<value>Syntaxe incorrecte a été rencontrée pendant {0} était en cours danalyse.</value>
<value>Une syntaxe incorrecte a été trouvée lors de l'analyse de {0}.</value>
</data>
<data name="EE_ScriptError_FatalError" xml:space="preserve">
<value>Une erreur irrécupérable sest produite.</value>
<value>Une erreur irrécupérable s'est produite.</value>
</data>
<data name="EE_ExecutionInfo_FinalizingLoop" xml:space="preserve">
<value>Lexécution effectuée {0} fois...</value>
<value>L'exécution a été effectuée {0} fois...</value>
</data>
<data name="EE_ExecutionInfo_QueryCancelledbyUser" xml:space="preserve">
<value>Vous avez annulé la requête.</value>
</data>
<data name="EE_BatchExecutionError_Halting" xml:space="preserve">
<value>Une erreur sest produite pendant le traitement par lots a été exécuté.</value>
<value>Une erreur s'est produite lors de l'exécution du lot.</value>
</data>
<data name="EE_BatchExecutionError_Ignoring" xml:space="preserve">
<value>Une erreur sest produite pendant le traitement par lots a été exécuté, mais que lerreur a été ignorée.</value>
<value>Une erreur s'est produite lors de l'exécution du lot, mais elle a été ignorée.</value>
</data>
<data name="EE_ExecutionInfo_InitilizingLoop" xml:space="preserve">
<value>Démarrage de la boucle dexécution de {0} fois...</value>
<value>Démarrage de la boucle d'exécution pour {0} fois...</value>
</data>
<data name="EE_ExecutionError_CommandNotSupported" xml:space="preserve">
<value>La commande {0} nest pas pris en charge.</value>
<value>La commande {0} n'est pas prise en charge.</value>
</data>
<data name="EE_ExecutionError_VariableNotFound" xml:space="preserve">
<value>La variable {0} est introuvable.</value>
<value>Impossible de trouver la variable {0}.</value>
</data>
<data name="BatchParserWrapperExecutionEngineError" xml:space="preserve">
<value>Erreur dexécution de SQL : {0}</value>
</data>
<data name="BatchParserWrapperExecutionError" xml:space="preserve">
<value>Exécution du wrapper dAnalyseur de lot : {0} trouvé... à la ligne {1} : {2} Description : {3}</value>
<value>Exécution du wrapper de l'analyseur du lot : {0} trouvé... à la ligne {1} : {2} Description : {3}</value>
</data>
<data name="BatchParserWrapperExecutionEngineBatchMessage" xml:space="preserve">
<value>Lot analyseur wrapper dexécution moteur lot message reçu : Message : {0} message détaillé : {1}</value>
<value>Message reçu du lot du moteur d'exécution du wrapper de l'analyseur du lot : Message : {0} Message détaillé : {1}</value>
</data>
<data name="BatchParserWrapperExecutionEngineBatchResultSetProcessing" xml:space="preserve">
<value>Traitement du moteur par lots ResultSet pour analyseur wrapper dexécution de lot : DataReader.FieldCount : {0} DataReader.RecordsAffected : {1}</value>
<value>Traitement du ResultSet du lot du moteur d'exécution du wrapper de l'analyseur du lot : DataReader.FieldCount : {0} DataReader.RecordsAffected : {1}</value>
</data>
<data name="BatchParserWrapperExecutionEngineBatchResultSetFinished" xml:space="preserve">
<value>Lot de moteur analyseur wrapper dexécution terminée de jeu de résultats.</value>
<value>ResultSet du lot du moteur d'exécution du wrapper de l'analyseur du lot terminé.</value>
</data>
<data name="BatchParserWrapperExecutionEngineBatchCancelling" xml:space="preserve">
<value>Annulation de lexécution par lots wrapper analyseur du lot.</value>
<value>Annulation de l'exécution du lot du wrapper de l'analyseur du lot.</value>
</data>
<data name="EE_ScriptError_Warning" xml:space="preserve">
<value>Avertissement pour le script.</value>
<value>Avertissement de script.</value>
</data>
<data name="TroubleshootingAssistanceMessage" xml:space="preserve">
<value>Pour plus dinformations sur cette erreur, consultez les rubriques de dépannage dans la documentation du produit.</value>
<value>Pour plus d'informations sur cette erreur, consultez les rubriques de dépannage dans la documentation du produit.</value>
</data>
<data name="BatchParser_CircularReference" xml:space="preserve">
<value>Le fichier '{0}' inclus de manière récursive.</value>
<value>Le fichier '{0}' a été inclus de manière récursive.</value>
</data>
<data name="BatchParser_CommentNotTerminated" xml:space="preserve">
<value>Pas de marque de fin de commentaire ' * /'.</value>
<value>La marque de commentaire de fin '*/' est manquante.</value>
</data>
<data name="BatchParser_StringNotTerminated" xml:space="preserve">
<value>Ouvrez les guillemets après la chaîne de caractères.</value>
<value>Guillemets non fermés après la chaîne de caractères.</value>
</data>
<data name="BatchParser_IncorrectSyntax" xml:space="preserve">
<value>Syntaxe incorrecte a été rencontrée lors de lanalyse de '{0}'.</value>
<value>Détection d'une syntaxe incorrecte pendant l'analyse de '{0}'.</value>
</data>
<data name="BatchParser_VariableNotDefined" xml:space="preserve">
<value>La variable {0} nest pas défini.</value>
<value>La variable {0} n'est pas définie.</value>
</data>
<data name="TestLocalizationConstant" xml:space="preserve">
<value>EN_LOCALIZATION</value>
<value>test</value>
</data>
<data name="ErrorEmptyStringReplacement" xml:space="preserve">
<value>Remplacement dune chaîne vide à une chaîne vide.</value>
</data>
<data name="EditDataSessionNotFound" xml:space="preserve">
<value>La session d'édition nexiste pas.</value>
</data>
<data name="EditDataQueryNotCompleted" xml:space="preserve">
<value>La requête na pas terminé lexécution</value>
</data>
<data name="EditDataQueryImproperResultSets" xml:space="preserve">
<value>La requête na pas généré exactement un jeu de résultats</value>
</data>
<data name="EditDataFailedAddRow" xml:space="preserve">
<value>Impossible dajouter la nouvelle ligne pour mettre à jour le cache</value>
</data>
<data name="EditDataRowOutOfRange" xml:space="preserve">
<value>L'identifiant de ligne spécifié est en dehors de la plage de lignes dans le cache dédition</value>
</data>
<data name="EditDataUpdatePending" xml:space="preserve">
<value>Une mise à jour est déjà en attente pour cette ligne et doit être dabord annulée</value>
</data>
<data name="EditDataUpdateNotPending" xml:space="preserve">
<value>L'identifiant de la ligne n'a pas de mise à jour en attente</value>
</data>
<data name="EditDataObjectMetadataNotFound" xml:space="preserve">
<value>Les métadonnées de la table ou de la vue nont pas pu être trouvées</value>
</data>
<data name="EditDataInvalidFormatBinary" xml:space="preserve">
<value>Format invalide pour une colonne binary</value>
</data>
<data name="EditDataInvalidFormatBoolean" xml:space="preserve">
<value>Les colonnes booléennes doivent être un numérique 1 ou 0, ou une chaîne true ou false</value>
</data>
<data name="EditDataCreateScriptMissingValue" xml:space="preserve">
<value>Une valeur de cellule requise est manquante.</value>
</data>
<data name="EditDataDeleteSetCell" xml:space="preserve">
<value>Une suppression est en attente pour cette ligne, une mise à jour de cellule ne peut pas être appliquée.</value>
</data>
<data name="EditDataColumnIdOutOfRange" xml:space="preserve">
<value>La colonne Id doit être dans la plage des colonnes de la requête</value>
</data>
<data name="EditDataColumnCannotBeEdited" xml:space="preserve">
<value>La colonne ne peut pas être éditée</value>
</data>
<data name="EditDataColumnNoKeyColumns" xml:space="preserve">
<value>Aucune colonne clé n'a été trouvée</value>
</data>
<data name="EditDataScriptFilePathNull" xml:space="preserve">
<value>Un nom de fichier de sortie doit être fourni</value>
</data>
<data name="EditDataUnsupportedObjectType" xml:space="preserve">
<value>L'objet de base de données {0} ne peut pas être utilisé pour éditer</value>
</data>
<data name="ConnectionServiceDbErrorDefaultNotConnected" xml:space="preserve">
<value>L'Uri spécifiée '{0}' na pas de connexion par défaut</value>
</data>
<data name="EditDataCommitInProgress" xml:space="preserve">
<value>Une tâche commit est en cours. Veuillez, s'il vous plaît, attendre la fin.</value>
</data>
<data name="SqlScriptFormatterDecimalMissingPrecision" xml:space="preserve">
<value>La colonne decimal manque d'une précision numérique</value>
</data>
<data name="EditDataComputedColumnPlaceholder" xml:space="preserve">
<value>&lt;TBD&gt;</value>
</data>
<data name="QueryServiceResultSetAddNoRows" xml:space="preserve">
<value>Impossible d'ajouter une ligne au tampon de résultats, le data reader ne contient aucune ligne</value>
</data>
<data name="EditDataTimeOver24Hrs" xml:space="preserve">
<value>Les valeurs de colonne TIME doivent être contenues entre 00:00:00.0000000 et 23:59:59.9999999</value>
</data>
<data name="EditDataNullNotAllowed" xml:space="preserve">
<value>NULL n'est pas autorisé pour cette colonne</value>
</data>
<data name="EditDataSessionAlreadyExists" xml:space="preserve">
<value>La session d'édition existe déjà.</value>
</data>
<data name="EditDataSessionNotInitialized" xml:space="preserve">
<value>La session d'édition n'a pas été initialisée</value>
</data>
<data name="EditDataSessionAlreadyInitialized" xml:space="preserve">
<value>La session d'édition a déjà été initialisée</value>
</data>
<data name="EditDataSessionAlreadyInitializing" xml:space="preserve">
<value>La session d'édition a déjà été initialisée ou est en cours d'initialisation</value>
</data>
<data name="EditDataQueryFailed" xml:space="preserve">
<value>L'exécution de la requête a échoué, voir les messages pour plus de détails</value>
</data>
<data name="EditDataFilteringNegativeLimit" xml:space="preserve">
<value>La limite de résultat ne peut pas être négative</value>
</data>
<data name="QueryServiceCellNull" xml:space="preserve">
<value>NULL</value>
</data>
<data name="EditDataMetadataObjectNameRequired" xml:space="preserve">
<value>Un nom d'objet doit être fourni</value>
</data>
<data name="EditDataMetadataTooManyIdentifiers" xml:space="preserve">
<value>La spécification explicite du serveur ou de la base de données n'est pas pris en charge</value>
</data>
<data name="EditDataMetadataNotExtended" xml:space="preserve">
<value>Les métadonnées de tables n'ont pas de propriétés étendues</value>
</data>
<data name="EditDataObjectNotFound" xml:space="preserve">
<value>La table ou la vue demandée pour édition n'a pas pu être trouvée</value>
</data>
<data name="TreeNodeError" xml:space="preserve">
<value>Erreur en développant : {0}</value>
</data>
<data name="ServerNodeConnectionError" xml:space="preserve">
<value>Erreur en se connectant à {0}</value>
</data>
<data name="SchemaHierarchy_Aggregates" xml:space="preserve">
<value>Agrégats</value>
</data>
@@ -810,9 +918,6 @@
<data name="SchemaHierarchy_TableTypeIndexes" xml:space="preserve">
<value>Index de types de tables</value>
</data>
<data name="SchemaHierarchy_ServerInstance" xml:space="preserve">
<value>ServerInstance</value>
</data>
<data name="SchemaHierarchy_SelectiveXmlIndexes" xml:space="preserve">
<value>Index XML sélectifs</value>
</data>
@@ -849,4 +954,436 @@
<data name="SchemaHierarchy_ColumnEncryptionKeys" xml:space="preserve">
<value>Clés de chiffrement de la colonne</value>
</data>
<data name="SchemaHierarchy_Server" xml:space="preserve">
<value>Serveur</value>
</data>
<data name="ScriptingParams_ConnectionString_Property_Invalid" xml:space="preserve">
<value>Erreur en analysant la propriété ScriptingParams.ConnectionString.</value>
</data>
<data name="ScriptingParams_FilePath_Property_Invalid" xml:space="preserve">
<value>Répertoire invalide spécifié pour la propriété ScriptingParams.FilePath.</value>
</data>
<data name="ScriptingListObjectsCompleteParams_ConnectionString_Property_Invalid" xml:space="preserve">
<value>Erreur en analysant la propriété ScriptingListObjectsCompleteParams.ConnectionString.</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterLabelFormatString" xml:space="preserve">
<value>{0} ({1}, {2}, {3})</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterNoDefaultLabel" xml:space="preserve">
<value>Pas de valeur par défaut</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputLabel" xml:space="preserve">
<value>Entrée</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputOutputLabel" xml:space="preserve">
<value>Entrée/sortie</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputReadOnlyLabel" xml:space="preserve">
<value>Entrée/ReadOnly</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputOutputReadOnlyLabel" xml:space="preserve">
<value>Entrée/sortie/ReadOnly</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterDefaultLabel" xml:space="preserve">
<value>Par défaut</value>
</data>
<data name="SchemaHierarchy_NullColumn_Label" xml:space="preserve">
<value>Null</value>
</data>
<data name="SchemaHierarchy_NotNullColumn_Label" xml:space="preserve">
<value>Non Null</value>
</data>
<data name="SchemaHierarchy_UDDTLabelWithType" xml:space="preserve">
<value>{0} ({1}, {2})</value>
</data>
<data name="SchemaHierarchy_UDDTLabelWithoutType" xml:space="preserve">
<value>{0} ({1})</value>
</data>
<data name="SchemaHierarchy_ComputedColumnLabelWithType" xml:space="preserve">
<value>{0} ({1}Calculé, {2}, {3})</value>
</data>
<data name="SchemaHierarchy_ComputedColumnLabelWithoutType" xml:space="preserve">
<value>{0} ({1}Calculé)</value>
</data>
<data name="SchemaHierarchy_ColumnSetLabelWithoutType" xml:space="preserve">
<value>{0} (Jeu de colonnes, {1})</value>
</data>
<data name="SchemaHierarchy_ColumnSetLabelWithType" xml:space="preserve">
<value>{0} (Jeu de colonnes, {1}{2}, {3})</value>
</data>
<data name="SchemaHierarchy_ColumnSetLabelWithTypeAndKeyString" xml:space="preserve">
<value>{0} (Jeu de colonnes, {1}, {2}, {3})</value>
</data>
<data name="UniqueIndex_LabelPart" xml:space="preserve">
<value>Unique</value>
</data>
<data name="NonUniqueIndex_LabelPart" xml:space="preserve">
<value>Non unique</value>
</data>
<data name="ClusteredIndex_LabelPart" xml:space="preserve">
<value>Ordonné en clusters</value>
</data>
<data name="NonClusteredIndex_LabelPart" xml:space="preserve">
<value>Non-Clustere</value>
</data>
<data name="History_LabelPart" xml:space="preserve">
<value>Historique</value>
</data>
<data name="SystemVersioned_LabelPart" xml:space="preserve">
<value>System-Versioned</value>
</data>
<data name="unavailable" xml:space="preserve">
<value>Indisponible</value>
</data>
<data name="filegroup_dialog_defaultFilegroup" xml:space="preserve">
<value>Groupe de fichiers par défaut actuel : {0}</value>
</data>
<data name="filegroup_dialog_title" xml:space="preserve">
<value>Nouveau groupe de fichiers pour {0}</value>
</data>
<data name="filegroups_default" xml:space="preserve">
<value>Par défaut</value>
</data>
<data name="filegroups_files" xml:space="preserve">
<value>Fichiers</value>
</data>
<data name="filegroups_name" xml:space="preserve">
<value>Nom</value>
</data>
<data name="filegroups_readonly" xml:space="preserve">
<value>Lecture seule</value>
</data>
<data name="general_autogrowth" xml:space="preserve">
<value>Redimensionnement automatique / Taille max</value>
</data>
<data name="general_builderText" xml:space="preserve">
<value>...</value>
</data>
<data name="general_default" xml:space="preserve">
<value>&lt;par défaut&gt;</value>
</data>
<data name="general_fileGroup" xml:space="preserve">
<value>Groupe de fichiers</value>
</data>
<data name="general_fileName" xml:space="preserve">
<value>Nom logique</value>
</data>
<data name="general_fileType" xml:space="preserve">
<value>Type de fichier</value>
</data>
<data name="general_initialSize" xml:space="preserve">
<value>Taille initiale (Mo)</value>
</data>
<data name="general_newFilegroup" xml:space="preserve">
<value>&lt;new filegroup&gt;</value>
</data>
<data name="general_path" xml:space="preserve">
<value>Chemin d'accès</value>
</data>
<data name="general_physicalFileName" xml:space="preserve">
<value>Nom de fichier </value>
</data>
<data name="general_rawDevice" xml:space="preserve">
<value>&lt;raw device&gt;</value>
</data>
<data name="general_recoveryModel_bulkLogged" xml:space="preserve">
<value>Bulk-logged</value>
</data>
<data name="general_recoveryModel_full" xml:space="preserve">
<value>Full</value>
</data>
<data name="general_recoveryModel_simple" xml:space="preserve">
<value>Simple</value>
</data>
<data name="general_titleSearchOwner" xml:space="preserve">
<value>Sélectionner le propriétaire de base de données</value>
</data>
<data name="prototype_autogrowth_disabled" xml:space="preserve">
<value>Aucune</value>
</data>
<data name="prototype_autogrowth_restrictedGrowthByMB" xml:space="preserve">
<value>Par {0} Mo, Limité à {1} Mo</value>
</data>
<data name="prototype_autogrowth_restrictedGrowthByPercent" xml:space="preserve">
<value>Par {0} %, Limité à {1} Mo</value>
</data>
<data name="prototype_autogrowth_unrestrictedGrowthByMB" xml:space="preserve">
<value>Par {0} Mo, Illimité</value>
</data>
<data name="prototype_autogrowth_unrestrictedGrowthByPercent" xml:space="preserve">
<value>Par {0} %, Illimité</value>
</data>
<data name="prototype_autogrowth_unlimitedfilestream" xml:space="preserve">
<value>Illimité</value>
</data>
<data name="prototype_autogrowth_limitedfilestream" xml:space="preserve">
<value>Limité à {0} Mo</value>
</data>
<data name="prototype_db_category_automatic" xml:space="preserve">
<value>Automatique</value>
</data>
<data name="prototype_db_category_servicebroker" xml:space="preserve">
<value>Service Broker</value>
</data>
<data name="prototype_db_category_collation" xml:space="preserve">
<value>Classement</value>
</data>
<data name="prototype_db_category_cursor" xml:space="preserve">
<value>Curseur</value>
</data>
<data name="prototype_db_category_misc" xml:space="preserve">
<value>Divers</value>
</data>
<data name="prototype_db_category_recovery" xml:space="preserve">
<value>Restauration</value>
</data>
<data name="prototype_db_category_state" xml:space="preserve">
<value>État</value>
</data>
<data name="prototype_db_prop_ansiNullDefault" xml:space="preserve">
<value>Paramètre par défaut ANSI NULL</value>
</data>
<data name="prototype_db_prop_ansiNulls" xml:space="preserve">
<value>Valeurs ANSI NULLS activées</value>
</data>
<data name="prototype_db_prop_ansiPadding" xml:space="preserve">
<value>Padding ANSI activé</value>
</data>
<data name="prototype_db_prop_ansiWarnings" xml:space="preserve">
<value>ANSI Warnings activés</value>
</data>
<data name="prototype_db_prop_arithabort" xml:space="preserve">
<value>Annulation arithmétique (Arithmetic Abort) activée</value>
</data>
<data name="prototype_db_prop_autoClose" xml:space="preserve">
<value>Fermeture automatique</value>
</data>
<data name="prototype_db_prop_autoCreateStatistics" xml:space="preserve">
<value>Création automatique des statistiques</value>
</data>
<data name="prototype_db_prop_autoShrink" xml:space="preserve">
<value>Réduction automatique</value>
</data>
<data name="prototype_db_prop_autoUpdateStatistics" xml:space="preserve">
<value>Mise à jour automatique des statistiques</value>
</data>
<data name="prototype_db_prop_autoUpdateStatisticsAsync" xml:space="preserve">
<value>Mise à jour automatique des statistiques en mode asynchrone</value>
</data>
<data name="prototype_db_prop_caseSensitive" xml:space="preserve">
<value>Sensible à la casse</value>
</data>
<data name="prototype_db_prop_closeCursorOnCommit" xml:space="preserve">
<value>Fermeture du curseur lors de la validation activée</value>
</data>
<data name="prototype_db_prop_collation" xml:space="preserve">
<value>Classement</value>
</data>
<data name="prototype_db_prop_concatNullYieldsNull" xml:space="preserve">
<value>La concaténation de la valeur Null donne Null</value>
</data>
<data name="prototype_db_prop_databaseCompatibilityLevel" xml:space="preserve">
<value>Niveau de compatibilité de la base de données</value>
</data>
<data name="prototype_db_prop_databaseState" xml:space="preserve">
<value>État de la base de données</value>
</data>
<data name="prototype_db_prop_defaultCursor" xml:space="preserve">
<value>Curseur par défaut</value>
</data>
<data name="prototype_db_prop_fullTextIndexing" xml:space="preserve">
<value>Indexation de texte intégral activée</value>
</data>
<data name="prototype_db_prop_numericRoundAbort" xml:space="preserve">
<value>Abandon en cas d'arrondi numérique</value>
</data>
<data name="prototype_db_prop_pageVerify" xml:space="preserve">
<value>Vérification de la page :</value>
</data>
<data name="prototype_db_prop_quotedIdentifier" xml:space="preserve">
<value>Identificateurs entre guillemets activés</value>
</data>
<data name="prototype_db_prop_readOnly" xml:space="preserve">
<value>Base de données en lecture seule</value>
</data>
<data name="prototype_db_prop_recursiveTriggers" xml:space="preserve">
<value>Déclencheurs récursifs activés</value>
</data>
<data name="prototype_db_prop_restrictAccess" xml:space="preserve">
<value>Restreindre l'accès</value>
</data>
<data name="prototype_db_prop_selectIntoBulkCopy" xml:space="preserve">
<value>Select Into / Bulk Copy</value>
</data>
<data name="prototype_db_prop_honorBrokerPriority" xml:space="preserve">
<value>Priorité du service Broker respectée</value>
</data>
<data name="prototype_db_prop_serviceBrokerGuid" xml:space="preserve">
<value>Identifant de Service Broker</value>
</data>
<data name="prototype_db_prop_brokerEnabled" xml:space="preserve">
<value>Broker activé</value>
</data>
<data name="prototype_db_prop_truncateLogOnCheckpoint" xml:space="preserve">
<value>Truncate Log on Checkpoint </value>
</data>
<data name="prototype_db_prop_dbChaining" xml:space="preserve">
<value>Chaînage des propriétés des bases de données croisées activé</value>
</data>
<data name="prototype_db_prop_trustworthy" xml:space="preserve">
<value>Digne de confiance</value>
</data>
<data name="prototype_db_prop_dateCorrelationOptimization" xml:space="preserve">
<value>Date Correlation Optimization Enabledprototype_db_prop_parameterization = Parameterization</value>
</data>
<data name="prototype_db_prop_parameterization_value_forced" xml:space="preserve">
<value>Forcé</value>
</data>
<data name="prototype_db_prop_parameterization_value_simple" xml:space="preserve">
<value>Simple</value>
</data>
<data name="prototype_file_dataFile" xml:space="preserve">
<value>Données ROWS</value>
</data>
<data name="prototype_file_logFile" xml:space="preserve">
<value>LOG</value>
</data>
<data name="prototype_file_filestreamFile" xml:space="preserve">
<value>Données FILESTREAM</value>
</data>
<data name="prototype_file_noFileGroup" xml:space="preserve">
<value>Non applicable</value>
</data>
<data name="prototype_file_defaultpathstring" xml:space="preserve">
<value>&lt;default path&gt;</value>
</data>
<data name="title_openConnectionsMustBeClosed" xml:space="preserve">
<value>Ouvrir les connexions</value>
</data>
<data name="warning_openConnectionsMustBeClosed" xml:space="preserve">
<value>Pour changer les propriétés de la base de données, SQL Server doit fermer toutes les autres connexions à la base de données. Etes-vous sûr de vouloir changer les propriétés et fermer toutes les autres connexions ?</value>
</data>
<data name="prototype_db_prop_databaseState_value_autoClosed" xml:space="preserve">
<value>AUTO_CLOSED</value>
</data>
<data name="prototype_db_prop_databaseState_value_emergency" xml:space="preserve">
<value>EMERGENCY</value>
</data>
<data name="prototype_db_prop_databaseState_value_inaccessible" xml:space="preserve">
<value>INACCESSIBLE</value>
</data>
<data name="prototype_db_prop_databaseState_value_normal" xml:space="preserve">
<value>NORMAL</value>
</data>
<data name="prototype_db_prop_databaseState_value_offline" xml:space="preserve">
<value>OFFLINE</value>
</data>
<data name="prototype_db_prop_databaseState_value_recovering" xml:space="preserve">
<value>RECOVERING</value>
</data>
<data name="prototype_db_prop_databaseState_value_recoveryPending" xml:space="preserve">
<value>RECOVERY PENDING</value>
</data>
<data name="prototype_db_prop_databaseState_value_restoring" xml:space="preserve">
<value>RESTORING</value>
</data>
<data name="prototype_db_prop_databaseState_value_shutdown" xml:space="preserve">
<value>SHUTDOWN</value>
</data>
<data name="prototype_db_prop_databaseState_value_standby" xml:space="preserve">
<value>STANDBY</value>
</data>
<data name="prototype_db_prop_databaseState_value_suspect" xml:space="preserve">
<value>SUSPECT</value>
</data>
<data name="prototype_db_prop_defaultCursor_value_global" xml:space="preserve">
<value>GLOBAL</value>
</data>
<data name="prototype_db_prop_defaultCursor_value_local" xml:space="preserve">
<value>LOCAL</value>
</data>
<data name="prototype_db_prop_restrictAccess_value_multiple" xml:space="preserve">
<value>MULTI_USER</value>
</data>
<data name="prototype_db_prop_restrictAccess_value_restricted" xml:space="preserve">
<value>RESTRICTED_USER</value>
</data>
<data name="prototype_db_prop_restrictAccess_value_single" xml:space="preserve">
<value>SINGLE_USER</value>
</data>
<data name="prototype_db_prop_pageVerify_value_checksum" xml:space="preserve">
<value>CHECKSUM</value>
</data>
<data name="prototype_db_prop_pageVerify_value_none" xml:space="preserve">
<value>NONE</value>
</data>
<data name="prototype_db_prop_pageVerify_value_tornPageDetection" xml:space="preserve">
<value>TORN_PAGE_DETECTION</value>
</data>
<data name="prototype_db_prop_varDecimalEnabled" xml:space="preserve">
<value>Format de stockage VarDecimal activé</value>
</data>
<data name="compatibilityLevel_katmai" xml:space="preserve">
<value>SQL Server 2008 (100)</value>
</data>
<data name="prototype_db_prop_encryptionEnabled" xml:space="preserve">
<value>Chiffrement activé</value>
</data>
<data name="prototype_db_prop_databasescopedconfig_value_off" xml:space="preserve">
<value>OFF</value>
</data>
<data name="prototype_db_prop_databasescopedconfig_value_on" xml:space="preserve">
<value>ON</value>
</data>
<data name="prototype_db_prop_databasescopedconfig_value_primary" xml:space="preserve">
<value>PRIMARY</value>
</data>
<data name="error_db_prop_invalidleadingColumns" xml:space="preserve">
<value>Pour la politique de distribution HASH, le nombre de colonnes hash qui débutent est optionnel mais devrait être entre 1 et 16 colonnes.</value>
</data>
<data name="compatibilityLevel_denali" xml:space="preserve">
<value>SQL Server 2012 (110)</value>
</data>
<data name="compatibilityLevel_sql14" xml:space="preserve">
<value>SQL Server 2014 (120)</value>
</data>
<data name="compatibilityLevel_sql15" xml:space="preserve">
<value>SQL Server 2016 (130)</value>
</data>
<data name="compatibilityLevel_sqlvNext" xml:space="preserve">
<value>SQL Server vNext (140)</value>
</data>
<data name="general_containmentType_None" xml:space="preserve">
<value>Aucun</value>
</data>
<data name="general_containmentType_Partial" xml:space="preserve">
<value>Partiel</value>
</data>
<data name="filegroups_filestreamFiles" xml:space="preserve">
<value>Fichiers FILESTREAM</value>
</data>
<data name="prototype_file_noApplicableFileGroup" xml:space="preserve">
<value>Aucun groupe de fichiers applicable</value>
</data>
<data name="DatabaseNotAccessible" xml:space="preserve">
<value>La base de données {0} est inaccessible.</value>
</data>
<data name="QueryServiceResultSetHasNoResults" xml:space="preserve">
<value>La requête n'a aucun résultat à retourner</value>
</data>
<data name="QueryServiceResultSetTooLarge" xml:space="preserve">
<value>Le jeu de résultats a trop de lignes pour être chargé en toute sécurité</value>
</data>
<data name="Backup_TaskName" xml:space="preserve">
<value>Sauvegarder la base de données</value>
</data>
<data name="Task_InProgress" xml:space="preserve">
<value>En cours</value>
</data>
<data name="Task_Completed" xml:space="preserve">
<value>Terminé</value>
</data>
<data name="prototype_db_prop_parameterization" xml:space="preserve">
<value>Paramétrage</value>
</data>
</root>

View File

@@ -358,7 +358,7 @@
<value>Variabile {0} non è definita.</value>
</data>
<data name="TestLocalizationConstant" xml:space="preserve">
<value>EN_LOCALIZATION</value>
<value>test</value>
</data>
<data name="ErrorEmptyStringReplacement" xml:space="preserve">
<value>Sostituzione di una stringa vuota con una stringa vuota.</value>
@@ -468,6 +468,12 @@
<data name="EditDataObjectNotFound" xml:space="preserve">
<value>Impossibile trovare la Tabella o la Vista necessarie alla modifica</value>
</data>
<data name="TreeNodeError" xml:space="preserve">
<value>Errore durante l'espansione dell'oggetto: {0}</value>
</data>
<data name="ServerNodeConnectionError" xml:space="preserve">
<value>Errore durante la connessione a {0}'</value>
</data>
<data name="SchemaHierarchy_Aggregates" xml:space="preserve">
<value>Aggregazioni</value>
</data>
@@ -912,9 +918,6 @@
<data name="SchemaHierarchy_TableTypeIndexes" xml:space="preserve">
<value>Indici del tipo di tabella</value>
</data>
<data name="SchemaHierarchy_ServerInstance" xml:space="preserve">
<value>ServerInstance</value>
</data>
<data name="SchemaHierarchy_SelectiveXmlIndexes" xml:space="preserve">
<value>Indici XML selettivi</value>
</data>
@@ -951,4 +954,436 @@
<data name="SchemaHierarchy_ColumnEncryptionKeys" xml:space="preserve">
<value>Chiavi di crittografia della colonna</value>
</data>
<data name="SchemaHierarchy_Server" xml:space="preserve">
<value>Server</value>
</data>
<data name="ScriptingParams_ConnectionString_Property_Invalid" xml:space="preserve">
<value>Errore durante l'analisi della proprietà ScriptingParams.ConnectionString.</value>
</data>
<data name="ScriptingParams_FilePath_Property_Invalid" xml:space="preserve">
<value>La Directory specificata dalla proprietà ScriptingParams.FilePath non è valida.</value>
</data>
<data name="ScriptingListObjectsCompleteParams_ConnectionString_Property_Invalid" xml:space="preserve">
<value>Errore durante l'analisi della proprietà ScriptingListObjectsCompleteParams.ConnectionString.</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterLabelFormatString" xml:space="preserve">
<value>{0} ({1}, {2}, {3})</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterNoDefaultLabel" xml:space="preserve">
<value>Nessun valore predefinito</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputLabel" xml:space="preserve">
<value>Input</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputOutputLabel" xml:space="preserve">
<value>Input/Output</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputReadOnlyLabel" xml:space="preserve">
<value>Input/ReadOnly</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputOutputReadOnlyLabel" xml:space="preserve">
<value>Input/Output/ReadOnly</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterDefaultLabel" xml:space="preserve">
<value>Predefinito</value>
</data>
<data name="SchemaHierarchy_NullColumn_Label" xml:space="preserve">
<value>Null</value>
</data>
<data name="SchemaHierarchy_NotNullColumn_Label" xml:space="preserve">
<value>non Null</value>
</data>
<data name="SchemaHierarchy_UDDTLabelWithType" xml:space="preserve">
<value>{0} ({1}, {2})</value>
</data>
<data name="SchemaHierarchy_UDDTLabelWithoutType" xml:space="preserve">
<value>{0} ({1})</value>
</data>
<data name="SchemaHierarchy_ComputedColumnLabelWithType" xml:space="preserve">
<value>{0} ({1} calcolato, {2}, {3})</value>
</data>
<data name="SchemaHierarchy_ComputedColumnLabelWithoutType" xml:space="preserve">
<value>{0} ({1} calcolato)</value>
</data>
<data name="SchemaHierarchy_ColumnSetLabelWithoutType" xml:space="preserve">
<value>{0} (Set di colonne: {1})</value>
</data>
<data name="SchemaHierarchy_ColumnSetLabelWithType" xml:space="preserve">
<value>{0} (Set di colonne: {1} {2}, {3})</value>
</data>
<data name="SchemaHierarchy_ColumnSetLabelWithTypeAndKeyString" xml:space="preserve">
<value>{0} (Set di colonne: {1}, {2}, {3})</value>
</data>
<data name="UniqueIndex_LabelPart" xml:space="preserve">
<value>Univoco</value>
</data>
<data name="NonUniqueIndex_LabelPart" xml:space="preserve">
<value>Non univoco</value>
</data>
<data name="ClusteredIndex_LabelPart" xml:space="preserve">
<value>Cluster</value>
</data>
<data name="NonClusteredIndex_LabelPart" xml:space="preserve">
<value>Non cluster</value>
</data>
<data name="History_LabelPart" xml:space="preserve">
<value>Cronologia</value>
</data>
<data name="SystemVersioned_LabelPart" xml:space="preserve">
<value>Con controllo delle versioni di sistema</value>
</data>
<data name="unavailable" xml:space="preserve">
<value>Non disponibile</value>
</data>
<data name="filegroup_dialog_defaultFilegroup" xml:space="preserve">
<value>Filegroup predefinito corrente: {0}</value>
</data>
<data name="filegroup_dialog_title" xml:space="preserve">
<value>Nuovo Filegroup per {0}</value>
</data>
<data name="filegroups_default" xml:space="preserve">
<value>Predefinito</value>
</data>
<data name="filegroups_files" xml:space="preserve">
<value>File</value>
</data>
<data name="filegroups_name" xml:space="preserve">
<value>Nome</value>
</data>
<data name="filegroups_readonly" xml:space="preserve">
<value> Sola lettura</value>
</data>
<data name="general_autogrowth" xml:space="preserve">
<value>Aumento automatico / Maxsize</value>
</data>
<data name="general_builderText" xml:space="preserve">
<value>...</value>
</data>
<data name="general_default" xml:space="preserve">
<value>&lt;predefinito&gt;</value>
</data>
<data name="general_fileGroup" xml:space="preserve">
<value>Filegroup</value>
</data>
<data name="general_fileName" xml:space="preserve">
<value>Nome logico</value>
</data>
<data name="general_fileType" xml:space="preserve">
<value>Tipo di file</value>
</data>
<data name="general_initialSize" xml:space="preserve">
<value>Dimensioni iniziali (MB)</value>
</data>
<data name="general_newFilegroup" xml:space="preserve">
<value>&lt;nuovo Filegroup&gt;</value>
</data>
<data name="general_path" xml:space="preserve">
<value>Percorso</value>
</data>
<data name="general_physicalFileName" xml:space="preserve">
<value>Nome file</value>
</data>
<data name="general_rawDevice" xml:space="preserve">
<value>&lt;dispositivo RAW&gt;</value>
</data>
<data name="general_recoveryModel_bulkLogged" xml:space="preserve">
<value>Registrazione delle operazioni bulk</value>
</data>
<data name="general_recoveryModel_full" xml:space="preserve">
<value>Completo</value>
</data>
<data name="general_recoveryModel_simple" xml:space="preserve">
<value>Semplice</value>
</data>
<data name="general_titleSearchOwner" xml:space="preserve">
<value>Seleziona il proprietario del Database</value>
</data>
<data name="prototype_autogrowth_disabled" xml:space="preserve">
<value>Nessuno</value>
</data>
<data name="prototype_autogrowth_restrictedGrowthByMB" xml:space="preserve">
<value>Di {0} MB, limitato a {1} MB</value>
</data>
<data name="prototype_autogrowth_restrictedGrowthByPercent" xml:space="preserve">
<value>Di {0} percento, limitato a {1} MB</value>
</data>
<data name="prototype_autogrowth_unrestrictedGrowthByMB" xml:space="preserve">
<value>Di {0} MB, illimitato</value>
</data>
<data name="prototype_autogrowth_unrestrictedGrowthByPercent" xml:space="preserve">
<value>Di {0} percento, illimitato</value>
</data>
<data name="prototype_autogrowth_unlimitedfilestream" xml:space="preserve">
<value>Senza limiti</value>
</data>
<data name="prototype_autogrowth_limitedfilestream" xml:space="preserve">
<value>Limitato a {0} MB</value>
</data>
<data name="prototype_db_category_automatic" xml:space="preserve">
<value>Automatico</value>
</data>
<data name="prototype_db_category_servicebroker" xml:space="preserve">
<value>Service Broker</value>
</data>
<data name="prototype_db_category_collation" xml:space="preserve">
<value>Regole di confronto</value>
</data>
<data name="prototype_db_category_cursor" xml:space="preserve">
<value>Cursore</value>
</data>
<data name="prototype_db_category_misc" xml:space="preserve">
<value>Varie</value>
</data>
<data name="prototype_db_category_recovery" xml:space="preserve">
<value>Recupero</value>
</data>
<data name="prototype_db_category_state" xml:space="preserve">
<value>Stato</value>
</data>
<data name="prototype_db_prop_ansiNullDefault" xml:space="preserve">
<value>Impostazione predefinita ANSI NULL</value>
</data>
<data name="prototype_db_prop_ansiNulls" xml:space="preserve">
<value>ANSI NULLS abilitati</value>
</data>
<data name="prototype_db_prop_ansiPadding" xml:space="preserve">
<value>ANSI Padding abilitato</value>
</data>
<data name="prototype_db_prop_ansiWarnings" xml:space="preserve">
<value>Avvisi ANSI abilitati</value>
</data>
<data name="prototype_db_prop_arithabort" xml:space="preserve">
<value>Arithmetic Abort abilitata</value>
</data>
<data name="prototype_db_prop_autoClose" xml:space="preserve">
<value>Chiusura automatica</value>
</data>
<data name="prototype_db_prop_autoCreateStatistics" xml:space="preserve">
<value>Creazione statistiche automatica</value>
</data>
<data name="prototype_db_prop_autoShrink" xml:space="preserve">
<value>Compattazione automatica</value>
</data>
<data name="prototype_db_prop_autoUpdateStatistics" xml:space="preserve">
<value>Aggiornamento statistiche automatico</value>
</data>
<data name="prototype_db_prop_autoUpdateStatisticsAsync" xml:space="preserve">
<value>Aggiornamento statistiche asincrono automatico</value>
</data>
<data name="prototype_db_prop_caseSensitive" xml:space="preserve">
<value>Distinzione maiuscole/minuscole</value>
</data>
<data name="prototype_db_prop_closeCursorOnCommit" xml:space="preserve">
<value>Chiusura cursore in caso di commit abilitata</value>
</data>
<data name="prototype_db_prop_collation" xml:space="preserve">
<value>Regole di confronto</value>
</data>
<data name="prototype_db_prop_concatNullYieldsNull" xml:space="preserve">
<value>La concatenazione di valori Null restituisce valori Null</value>
</data>
<data name="prototype_db_prop_databaseCompatibilityLevel" xml:space="preserve">
<value>Livello di compatibilità del database</value>
</data>
<data name="prototype_db_prop_databaseState" xml:space="preserve">
<value>Stato database</value>
</data>
<data name="prototype_db_prop_defaultCursor" xml:space="preserve">
<value>Cursore predefinito</value>
</data>
<data name="prototype_db_prop_fullTextIndexing" xml:space="preserve">
<value>Indicizzazione full-text</value>
</data>
<data name="prototype_db_prop_numericRoundAbort" xml:space="preserve">
<value>Interruzione per perdita di precisione numerica</value>
</data>
<data name="prototype_db_prop_pageVerify" xml:space="preserve">
<value>Verifica pagina</value>
</data>
<data name="prototype_db_prop_quotedIdentifier" xml:space="preserve">
<value>Identificatori delimitati abilitati</value>
</data>
<data name="prototype_db_prop_readOnly" xml:space="preserve">
<value>Database di sola lettura</value>
</data>
<data name="prototype_db_prop_recursiveTriggers" xml:space="preserve">
<value>Trigger ricorsivi abilitati</value>
</data>
<data name="prototype_db_prop_restrictAccess" xml:space="preserve">
<value>Limitazione accesso</value>
</data>
<data name="prototype_db_prop_selectIntoBulkCopy" xml:space="preserve">
<value>Select Into/Bulk Copy</value>
</data>
<data name="prototype_db_prop_honorBrokerPriority" xml:space="preserve">
<value>Rispetta priorità di Service Broker</value>
</data>
<data name="prototype_db_prop_serviceBrokerGuid" xml:space="preserve">
<value>Identificatore Service Broker</value>
</data>
<data name="prototype_db_prop_brokerEnabled" xml:space="preserve">
<value>Broker abilitato</value>
</data>
<data name="prototype_db_prop_truncateLogOnCheckpoint" xml:space="preserve">
<value>Tronca Log al Checkpoint </value>
</data>
<data name="prototype_db_prop_dbChaining" xml:space="preserve">
<value>Concatenamento della proprietà tra database abilitato</value>
</data>
<data name="prototype_db_prop_trustworthy" xml:space="preserve">
<value>Trustworthy</value>
</data>
<data name="prototype_db_prop_dateCorrelationOptimization" xml:space="preserve">
<value>Ottimizzazione correlazione date Enabledprototype_db_prop_parameterization = parametrizzazione</value>
</data>
<data name="prototype_db_prop_parameterization_value_forced" xml:space="preserve">
<value>Forzato</value>
</data>
<data name="prototype_db_prop_parameterization_value_simple" xml:space="preserve">
<value>Semplice</value>
</data>
<data name="prototype_file_dataFile" xml:space="preserve">
<value>Dati RIGHE</value>
</data>
<data name="prototype_file_logFile" xml:space="preserve">
<value>LOG</value>
</data>
<data name="prototype_file_filestreamFile" xml:space="preserve">
<value>Dati FILESTREAM</value>
</data>
<data name="prototype_file_noFileGroup" xml:space="preserve">
<value>Non applicabile</value>
</data>
<data name="prototype_file_defaultpathstring" xml:space="preserve">
<value>&lt;percorso predefinito&gt;</value>
</data>
<data name="title_openConnectionsMustBeClosed" xml:space="preserve">
<value>Connessioni aperte</value>
</data>
<data name="warning_openConnectionsMustBeClosed" xml:space="preserve">
<value>Per modificare le proprietà del database, SQL Server deve chiudere tutte le altre connessioni al database_ Sei sicuro di voler modificare le proprietà e chiudere tutte le altre connessioni?</value>
</data>
<data name="prototype_db_prop_databaseState_value_autoClosed" xml:space="preserve">
<value>AUTO_CLOSED</value>
</data>
<data name="prototype_db_prop_databaseState_value_emergency" xml:space="preserve">
<value>EMERGENCY</value>
</data>
<data name="prototype_db_prop_databaseState_value_inaccessible" xml:space="preserve">
<value>INACCESSIBLE</value>
</data>
<data name="prototype_db_prop_databaseState_value_normal" xml:space="preserve">
<value>NORMAL</value>
</data>
<data name="prototype_db_prop_databaseState_value_offline" xml:space="preserve">
<value>OFFLINE</value>
</data>
<data name="prototype_db_prop_databaseState_value_recovering" xml:space="preserve">
<value>RECOVERING</value>
</data>
<data name="prototype_db_prop_databaseState_value_recoveryPending" xml:space="preserve">
<value>RECOVERY PENDING</value>
</data>
<data name="prototype_db_prop_databaseState_value_restoring" xml:space="preserve">
<value>RESTORING</value>
</data>
<data name="prototype_db_prop_databaseState_value_shutdown" xml:space="preserve">
<value>SHUTDOWN</value>
</data>
<data name="prototype_db_prop_databaseState_value_standby" xml:space="preserve">
<value>STANDBY</value>
</data>
<data name="prototype_db_prop_databaseState_value_suspect" xml:space="preserve">
<value>SUSPECT</value>
</data>
<data name="prototype_db_prop_defaultCursor_value_global" xml:space="preserve">
<value>GLOBAL</value>
</data>
<data name="prototype_db_prop_defaultCursor_value_local" xml:space="preserve">
<value>LOCAL</value>
</data>
<data name="prototype_db_prop_restrictAccess_value_multiple" xml:space="preserve">
<value>MULTI_USER</value>
</data>
<data name="prototype_db_prop_restrictAccess_value_restricted" xml:space="preserve">
<value>RESTRICTED_USER</value>
</data>
<data name="prototype_db_prop_restrictAccess_value_single" xml:space="preserve">
<value>SINGLE_USER</value>
</data>
<data name="prototype_db_prop_pageVerify_value_checksum" xml:space="preserve">
<value>CHECKSUM</value>
</data>
<data name="prototype_db_prop_pageVerify_value_none" xml:space="preserve">
<value>NONE</value>
</data>
<data name="prototype_db_prop_pageVerify_value_tornPageDetection" xml:space="preserve">
<value>TORN_PAGE_DETECTION</value>
</data>
<data name="prototype_db_prop_varDecimalEnabled" xml:space="preserve">
<value>Formato di archiviazione VarDecimal abilitato</value>
</data>
<data name="compatibilityLevel_katmai" xml:space="preserve">
<value>SQL Server 2008 (100)</value>
</data>
<data name="prototype_db_prop_encryptionEnabled" xml:space="preserve">
<value>Crittografia abilitata</value>
</data>
<data name="prototype_db_prop_databasescopedconfig_value_off" xml:space="preserve">
<value>OFF</value>
</data>
<data name="prototype_db_prop_databasescopedconfig_value_on" xml:space="preserve">
<value>ON</value>
</data>
<data name="prototype_db_prop_databasescopedconfig_value_primary" xml:space="preserve">
<value>PRIMARY</value>
</data>
<data name="error_db_prop_invalidleadingColumns" xml:space="preserve">
<value>Per il criterio di distribuzione HASH, il numero di colonne iniziali di hash è facoltativo, ma dovrebbe essere da 1 a 16 colonne </value>
</data>
<data name="compatibilityLevel_denali" xml:space="preserve">
<value>SQL Server 2012 (110)</value>
</data>
<data name="compatibilityLevel_sql14" xml:space="preserve">
<value>SQL Server 2014 (120)</value>
</data>
<data name="compatibilityLevel_sql15" xml:space="preserve">
<value>SQL Server 2016 (130)</value>
</data>
<data name="compatibilityLevel_sqlvNext" xml:space="preserve">
<value>SQL Server vNext (140)</value>
</data>
<data name="general_containmentType_None" xml:space="preserve">
<value>Nessuno</value>
</data>
<data name="general_containmentType_Partial" xml:space="preserve">
<value>Parziale</value>
</data>
<data name="filegroups_filestreamFiles" xml:space="preserve">
<value>File FILESTREAM</value>
</data>
<data name="prototype_file_noApplicableFileGroup" xml:space="preserve">
<value>Nessun Filegroup applicabile</value>
</data>
<data name="DatabaseNotAccessible" xml:space="preserve">
<value>Il database {0} non è accessibile.</value>
</data>
<data name="QueryServiceResultSetHasNoResults" xml:space="preserve">
<value>La query non ha risultati da restituire</value>
</data>
<data name="QueryServiceResultSetTooLarge" xml:space="preserve">
<value>L'insieme di risultati ha troppe righe per essere caricato in modo sicuro</value>
</data>
<data name="Backup_TaskName" xml:space="preserve">
<value>Backup database</value>
</data>
<data name="Task_InProgress" xml:space="preserve">
<value>In corso</value>
</data>
<data name="Task_Completed" xml:space="preserve">
<value>Completato</value>
</data>
<data name="prototype_db_prop_parameterization" xml:space="preserve">
<value>Parametrizzazione</value>
</data>
</root>

View File

@@ -358,7 +358,7 @@
<value>変数 {0} が定義されていません。</value>
</data>
<data name="TestLocalizationConstant" xml:space="preserve">
<value>EN_LOCALIZATION</value>
<value>テスト</value>
</data>
<data name="ErrorEmptyStringReplacement" xml:space="preserve">
<value>空の文字列で空の文字列を置換しています。</value>
@@ -468,6 +468,12 @@
<data name="EditDataObjectNotFound" xml:space="preserve">
<value>編集を要求したテーブルもしくはビューが見つかりませんでした。</value>
</data>
<data name="TreeNodeError" xml:space="preserve">
<value>'{0}' の拡張中にエラーが発生しました。</value>
</data>
<data name="ServerNodeConnectionError" xml:space="preserve">
<value>{0} への接続中にエラーが発生しました</value>
</data>
<data name="SchemaHierarchy_Aggregates" xml:space="preserve">
<value>集約</value>
</data>
@@ -912,9 +918,6 @@
<data name="SchemaHierarchy_TableTypeIndexes" xml:space="preserve">
<value>テーブル型インデックス</value>
</data>
<data name="SchemaHierarchy_ServerInstance" xml:space="preserve">
<value>ServerInstance</value>
</data>
<data name="SchemaHierarchy_SelectiveXmlIndexes" xml:space="preserve">
<value>選択的 XML インデックス</value>
</data>
@@ -951,4 +954,437 @@
<data name="SchemaHierarchy_ColumnEncryptionKeys" xml:space="preserve">
<value>列暗号化キー</value>
</data>
<data name="SchemaHierarchy_Server" xml:space="preserve">
<value>サーバー</value>
</data>
<data name="ScriptingParams_ConnectionString_Property_Invalid" xml:space="preserve">
<value>ScriptingParams.ConnectionString プロパティの解析エラーです。</value>
</data>
<data name="ScriptingParams_FilePath_Property_Invalid" xml:space="preserve">
<value>ScriptingParams.FilePath プロパティで指定されたディレクトリが無効です。</value>
</data>
<data name="ScriptingListObjectsCompleteParams_ConnectionString_Property_Invalid" xml:space="preserve">
<value>ScriptingListObjectsCompleteParams.ConnectionString プロパティの解析エラーです。</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterLabelFormatString" xml:space="preserve">
<value>{0} ({1}、{2}、{3})</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterNoDefaultLabel" xml:space="preserve">
<value>既定値以外</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputLabel" xml:space="preserve">
<value>入力</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputOutputLabel" xml:space="preserve">
<value>入力/出力</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputReadOnlyLabel" xml:space="preserve">
<value>入力/読み取り専用</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputOutputReadOnlyLabel" xml:space="preserve">
<value>入力/出力/読み取り専用</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterDefaultLabel" xml:space="preserve">
<value>既定値</value>
</data>
<data name="SchemaHierarchy_NullColumn_Label" xml:space="preserve">
<value>NULL</value>
</data>
<data name="SchemaHierarchy_NotNullColumn_Label" xml:space="preserve">
<value>NULL 以外</value>
</data>
<data name="SchemaHierarchy_UDDTLabelWithType" xml:space="preserve">
<value>{0} ({1}、{2})</value>
</data>
<data name="SchemaHierarchy_UDDTLabelWithoutType" xml:space="preserve">
<value>{0} ({1})</value>
</data>
<data name="SchemaHierarchy_ComputedColumnLabelWithType" xml:space="preserve">
<value>{0} ({1} 計算値、{2}、{3})</value>
</data>
<data name="SchemaHierarchy_ComputedColumnLabelWithoutType" xml:space="preserve">
<value>{0} ({1} 計算値)</value>
</data>
<data name="SchemaHierarchy_ColumnSetLabelWithoutType" xml:space="preserve">
<value>{0} (列セット、{1})</value>
</data>
<data name="SchemaHierarchy_ColumnSetLabelWithType" xml:space="preserve">
<value>{0} (列セット、{1}{2}、{3})</value>
</data>
<data name="SchemaHierarchy_ColumnSetLabelWithTypeAndKeyString" xml:space="preserve">
<value>{0} (列セット、{1}、{2}、{3})</value>
</data>
<data name="UniqueIndex_LabelPart" xml:space="preserve">
<value>一意</value>
</data>
<data name="NonUniqueIndex_LabelPart" xml:space="preserve">
<value>一意でない</value>
</data>
<data name="ClusteredIndex_LabelPart" xml:space="preserve">
<value>クラスター化</value>
</data>
<data name="NonClusteredIndex_LabelPart" xml:space="preserve">
<value>非クラスター</value>
</data>
<data name="History_LabelPart" xml:space="preserve">
<value>履歴</value>
</data>
<data name="SystemVersioned_LabelPart" xml:space="preserve">
<value>システムバージョン管理</value>
</data>
<data name="unavailable" xml:space="preserve">
<value>使用不可</value>
</data>
<data name="filegroup_dialog_defaultFilegroup" xml:space="preserve">
<value>現在の既定のファイル グループ: {0}</value>
</data>
<data name="filegroup_dialog_title" xml:space="preserve">
<value>新しいファイルグループ {0}</value>
</data>
<data name="filegroups_default" xml:space="preserve">
<value>既定値</value>
</data>
<data name="filegroups_files" xml:space="preserve">
<value>ファイル</value>
</data>
<data name="filegroups_name" xml:space="preserve">
<value>名前</value>
</data>
<data name="filegroups_readonly" xml:space="preserve">
<value>読み取り専用</value>
</data>
<data name="general_autogrowth" xml:space="preserve">
<value>自動拡張 / 最大容量</value>
</data>
<data name="general_builderText" xml:space="preserve">
<value>...</value>
</data>
<data name="general_default" xml:space="preserve">
<value>&lt;既定&gt;</value>
</data>
<data name="general_fileGroup" xml:space="preserve">
<value>ファイル グループ</value>
</data>
<data name="general_fileName" xml:space="preserve">
<value>論理名</value>
</data>
<data name="general_fileType" xml:space="preserve">
<value>ファイルタイプ</value>
</data>
<data name="general_initialSize" xml:space="preserve">
<value>初期サイズ (MB)</value>
</data>
<data name="general_newFilegroup" xml:space="preserve">
<value>&lt;新しいファイルグループ&gt;</value>
</data>
<data name="general_path" xml:space="preserve">
<value>パス</value>
</data>
<data name="general_physicalFileName" xml:space="preserve">
<value>ファイル名</value>
</data>
<data name="general_rawDevice" xml:space="preserve">
<value>&lt;RAWデバイス&gt;</value>
</data>
<data name="general_recoveryModel_bulkLogged" xml:space="preserve">
<value>一括ログ</value>
</data>
<data name="general_recoveryModel_full" xml:space="preserve">
<value>完全</value>
</data>
<data name="general_recoveryModel_simple" xml:space="preserve">
<value>単純</value>
</data>
<data name="general_titleSearchOwner" xml:space="preserve">
<value>データベース 所有者の選択</value>
</data>
<data name="prototype_autogrowth_disabled" xml:space="preserve">
<value>なし</value>
</data>
<data name="prototype_autogrowth_restrictedGrowthByMB" xml:space="preserve">
<value>{0} MBごと、{1} MBを上限</value>
</data>
<data name="prototype_autogrowth_restrictedGrowthByPercent" xml:space="preserve">
<value>{0} パーセントごと、{1} MBまで</value>
</data>
<data name="prototype_autogrowth_unrestrictedGrowthByMB" xml:space="preserve">
<value>{0} MBごと、無制限</value>
</data>
<data name="prototype_autogrowth_unrestrictedGrowthByPercent" xml:space="preserve">
<value>{0} パーセントごと、無制限</value>
</data>
<data name="prototype_autogrowth_unlimitedfilestream" xml:space="preserve">
<value>無制限</value>
</data>
<data name="prototype_autogrowth_limitedfilestream" xml:space="preserve">
<value>{0} MBまで</value>
</data>
<data name="prototype_db_category_automatic" xml:space="preserve">
<value>自動</value>
</data>
<data name="prototype_db_category_servicebroker" xml:space="preserve">
<value>Service Broker</value>
</data>
<data name="prototype_db_category_collation" xml:space="preserve">
<value>照合順序</value>
</data>
<data name="prototype_db_category_cursor" xml:space="preserve">
<value>カーソル</value>
</data>
<data name="prototype_db_category_misc" xml:space="preserve">
<value>その他</value>
</data>
<data name="prototype_db_category_recovery" xml:space="preserve">
<value>復旧</value>
</data>
<data name="prototype_db_category_state" xml:space="preserve">
<value>状態</value>
</data>
<data name="prototype_db_prop_ansiNullDefault" xml:space="preserve">
<value>ANSI NULL 既定値</value>
</data>
<data name="prototype_db_prop_ansiNulls" xml:space="preserve">
<value>ANSI NULLS 有効</value>
</data>
<data name="prototype_db_prop_ansiPadding" xml:space="preserve">
<value>ANSI Padding 有効</value>
</data>
<data name="prototype_db_prop_ansiWarnings" xml:space="preserve">
<value>ANSI 警告有効</value>
</data>
<data name="prototype_db_prop_arithabort" xml:space="preserve">
<value>算術アボート有効</value>
</data>
<data name="prototype_db_prop_autoClose" xml:space="preserve">
<value>自動クローズ</value>
</data>
<data name="prototype_db_prop_autoCreateStatistics" xml:space="preserve">
<value>統計の自動作成</value>
</data>
<data name="prototype_db_prop_autoShrink" xml:space="preserve">
<value>自動圧縮</value>
</data>
<data name="prototype_db_prop_autoUpdateStatistics" xml:space="preserve">
<value>統計の自動更新</value>
</data>
<data name="prototype_db_prop_autoUpdateStatisticsAsync" xml:space="preserve">
<value>統計の非同期的自動更新</value>
</data>
<data name="prototype_db_prop_caseSensitive" xml:space="preserve">
<value>大文字と小文字を区別する</value>
</data>
<data name="prototype_db_prop_closeCursorOnCommit" xml:space="preserve">
<value>コミットでカーソルを閉じる</value>
</data>
<data name="prototype_db_prop_collation" xml:space="preserve">
<value>照合順序</value>
</data>
<data name="prototype_db_prop_concatNullYieldsNull" xml:space="preserve">
<value>Nullとの連結をNullとして取り扱う</value>
</data>
<data name="prototype_db_prop_databaseCompatibilityLevel" xml:space="preserve">
<value>データベース互換性レベル</value>
</data>
<data name="prototype_db_prop_databaseState" xml:space="preserve">
<value>データベース状態</value>
</data>
<data name="prototype_db_prop_defaultCursor" xml:space="preserve">
<value>既定のカーソル</value>
</data>
<data name="prototype_db_prop_fullTextIndexing" xml:space="preserve">
<value>フルテキスト インデックス 有効化</value>
</data>
<data name="prototype_db_prop_numericRoundAbort" xml:space="preserve">
<value>数値丸め処理アボート</value>
</data>
<data name="prototype_db_prop_pageVerify" xml:space="preserve">
<value>ページ確認</value>
</data>
<data name="prototype_db_prop_quotedIdentifier" xml:space="preserve">
<value>引用符で囲まれた識別子が有効</value>
</data>
<data name="prototype_db_prop_readOnly" xml:space="preserve">
<value>読み取り専用データベース</value>
</data>
<data name="prototype_db_prop_recursiveTriggers" xml:space="preserve">
<value>再帰トリガー有効</value>
</data>
<data name="prototype_db_prop_restrictAccess" xml:space="preserve">
<value>アクセスの制限</value>
</data>
<data name="prototype_db_prop_selectIntoBulkCopy" xml:space="preserve">
<value>Select Into/ バルクコピー</value>
</data>
<data name="prototype_db_prop_honorBrokerPriority" xml:space="preserve">
<value>Broker の優先度の許可</value>
</data>
<data name="prototype_db_prop_serviceBrokerGuid" xml:space="preserve">
<value>Service Broker 識別子</value>
</data>
<data name="prototype_db_prop_brokerEnabled" xml:space="preserve">
<value>ブローカー有効化</value>
</data>
<data name="prototype_db_prop_truncateLogOnCheckpoint" xml:space="preserve">
<value>チェックポイントでのログの切り捨て</value>
</data>
<data name="prototype_db_prop_dbChaining" xml:space="preserve">
<value>複数データベースの組み合わせ所有権有効</value>
</data>
<data name="prototype_db_prop_trustworthy" xml:space="preserve">
<value>信頼可能</value>
</data>
<data name="prototype_db_prop_dateCorrelationOptimization" xml:space="preserve">
<value>データ相関性の最適化
Enabledprototype_db_prop_parameterization = Parameterization</value>
</data>
<data name="prototype_db_prop_parameterization_value_forced" xml:space="preserve">
<value>強制</value>
</data>
<data name="prototype_db_prop_parameterization_value_simple" xml:space="preserve">
<value>単純</value>
</data>
<data name="prototype_file_dataFile" xml:space="preserve">
<value>列データ</value>
</data>
<data name="prototype_file_logFile" xml:space="preserve">
<value>ログ</value>
</data>
<data name="prototype_file_filestreamFile" xml:space="preserve">
<value>FILESTREAM データ</value>
</data>
<data name="prototype_file_noFileGroup" xml:space="preserve">
<value>適用不可</value>
</data>
<data name="prototype_file_defaultpathstring" xml:space="preserve">
<value>&lt;既定のパス&gt;</value>
</data>
<data name="title_openConnectionsMustBeClosed" xml:space="preserve">
<value>コネクションを開く</value>
</data>
<data name="warning_openConnectionsMustBeClosed" xml:space="preserve">
<value>データベースのプロパティを変更するには、SQL Server はデータベースへの他のすべての接続を閉じる必要があります。プロパティを変更して、他のすべての接続を閉じてよろしいですか?</value>
</data>
<data name="prototype_db_prop_databaseState_value_autoClosed" xml:space="preserve">
<value>AUTO_CLOSED</value>
</data>
<data name="prototype_db_prop_databaseState_value_emergency" xml:space="preserve">
<value>EMERGENCY</value>
</data>
<data name="prototype_db_prop_databaseState_value_inaccessible" xml:space="preserve">
<value>INACCESSIBLE</value>
</data>
<data name="prototype_db_prop_databaseState_value_normal" xml:space="preserve">
<value>NORMAL</value>
</data>
<data name="prototype_db_prop_databaseState_value_offline" xml:space="preserve">
<value>OFFLINE</value>
</data>
<data name="prototype_db_prop_databaseState_value_recovering" xml:space="preserve">
<value>RECOVERING</value>
</data>
<data name="prototype_db_prop_databaseState_value_recoveryPending" xml:space="preserve">
<value>RECOVERY PENDING</value>
</data>
<data name="prototype_db_prop_databaseState_value_restoring" xml:space="preserve">
<value>RESTORING</value>
</data>
<data name="prototype_db_prop_databaseState_value_shutdown" xml:space="preserve">
<value>SHUTDOWN</value>
</data>
<data name="prototype_db_prop_databaseState_value_standby" xml:space="preserve">
<value>STANDBY</value>
</data>
<data name="prototype_db_prop_databaseState_value_suspect" xml:space="preserve">
<value>SUSPECT</value>
</data>
<data name="prototype_db_prop_defaultCursor_value_global" xml:space="preserve">
<value>GLOBAL</value>
</data>
<data name="prototype_db_prop_defaultCursor_value_local" xml:space="preserve">
<value>LOCAL</value>
</data>
<data name="prototype_db_prop_restrictAccess_value_multiple" xml:space="preserve">
<value>MULTI_USER</value>
</data>
<data name="prototype_db_prop_restrictAccess_value_restricted" xml:space="preserve">
<value>RESTRICTED_USER</value>
</data>
<data name="prototype_db_prop_restrictAccess_value_single" xml:space="preserve">
<value>SINGLE_USER</value>
</data>
<data name="prototype_db_prop_pageVerify_value_checksum" xml:space="preserve">
<value>CHECKSUM</value>
</data>
<data name="prototype_db_prop_pageVerify_value_none" xml:space="preserve">
<value>NONE</value>
</data>
<data name="prototype_db_prop_pageVerify_value_tornPageDetection" xml:space="preserve">
<value>TORN_PAGE_DETECTION</value>
</data>
<data name="prototype_db_prop_varDecimalEnabled" xml:space="preserve">
<value>VarDecimal ストレージ形式有効</value>
</data>
<data name="compatibilityLevel_katmai" xml:space="preserve">
<value>SQL Server 2008 (100)</value>
</data>
<data name="prototype_db_prop_encryptionEnabled" xml:space="preserve">
<value>暗号化有効</value>
</data>
<data name="prototype_db_prop_databasescopedconfig_value_off" xml:space="preserve">
<value>OFF</value>
</data>
<data name="prototype_db_prop_databasescopedconfig_value_on" xml:space="preserve">
<value>ON</value>
</data>
<data name="prototype_db_prop_databasescopedconfig_value_primary" xml:space="preserve">
<value>PRIMARY</value>
</data>
<data name="error_db_prop_invalidleadingColumns" xml:space="preserve">
<value>配布ポリシーのハッシュでは、ハッシュの先頭列の番号は任意ですが、1 から 16 個の列にする必要があります</value>
</data>
<data name="compatibilityLevel_denali" xml:space="preserve">
<value>SQL Server 2012 (110)</value>
</data>
<data name="compatibilityLevel_sql14" xml:space="preserve">
<value>SQL Server 2014 (120) </value>
</data>
<data name="compatibilityLevel_sql15" xml:space="preserve">
<value>SQL Server 2016 (130) </value>
</data>
<data name="compatibilityLevel_sqlvNext" xml:space="preserve">
<value>SQL Server vNext (140) </value>
</data>
<data name="general_containmentType_None" xml:space="preserve">
<value>なし</value>
</data>
<data name="general_containmentType_Partial" xml:space="preserve">
<value>部分的</value>
</data>
<data name="filegroups_filestreamFiles" xml:space="preserve">
<value>FILESTREAM ファイル</value>
</data>
<data name="prototype_file_noApplicableFileGroup" xml:space="preserve">
<value>適用不可なファイルグループ</value>
</data>
<data name="DatabaseNotAccessible" xml:space="preserve">
<value>データベース {0} にアクセスできません。</value>
</data>
<data name="QueryServiceResultSetHasNoResults" xml:space="preserve">
<value>クエリーは結果を返しませんでした</value>
</data>
<data name="QueryServiceResultSetTooLarge" xml:space="preserve">
<value>結果セットの行数が多すぎるため安全にロードすることはできません</value>
</data>
<data name="Backup_TaskName" xml:space="preserve">
<value>データベースをバックアップする</value>
</data>
<data name="Task_InProgress" xml:space="preserve">
<value>実行中</value>
</data>
<data name="Task_Completed" xml:space="preserve">
<value>完了</value>
</data>
<data name="prototype_db_prop_parameterization" xml:space="preserve">
<value>パラメーター化</value>
</data>
</root>

View File

@@ -358,7 +358,7 @@
<value>{0} 변수가 정의되지 않았습니다.</value>
</data>
<data name="TestLocalizationConstant" xml:space="preserve">
<value>EN_LOCALIZATION</value>
<value>테스트</value>
</data>
<data name="ErrorEmptyStringReplacement" xml:space="preserve">
<value>
@@ -422,9 +422,15 @@ votes
<data name="EditDataCommitInProgress" xml:space="preserve">
<value>커밋 작업이 진행 중입니다. 완료될 때까지 기다리세요.</value>
</data>
<data name="SqlScriptFormatterDecimalMissingPrecision" xml:space="preserve">
<value>Decimal 형식 열에 전체 자릿수 또는 소수 자릿수가 없습니다.</value>
</data>
<data name="EditDataComputedColumnPlaceholder" xml:space="preserve">
<value>&lt;TBD&gt;</value>
</data>
<data name="QueryServiceResultSetAddNoRows" xml:space="preserve">
<value>결과 버퍼에 새로운 행을 추가할 수 없거나 데이터 리더에 행이 없습니다.</value>
</data>
<data name="EditDataTimeOver24Hrs" xml:space="preserve">
<value>TIME 열의 값은 00:00:00.0000000과 23:59:59.9999999 사이의 값만 허용됩니다.</value>
</data>
@@ -464,6 +470,12 @@ votes
<data name="EditDataObjectNotFound" xml:space="preserve">
<value>편집하려는 테이블이나 뷰를 찾을 수 없습니다</value>
</data>
<data name="TreeNodeError" xml:space="preserve">
<value>오류 확장: {0}</value>
</data>
<data name="ServerNodeConnectionError" xml:space="preserve">
<value>{0}에 연결하는 동안 오류가 발생했습니다.</value>
</data>
<data name="SchemaHierarchy_Aggregates" xml:space="preserve">
<value>집계</value>
</data>
@@ -908,9 +920,6 @@ votes
<data name="SchemaHierarchy_TableTypeIndexes" xml:space="preserve">
<value>테이블 형식 인덱스</value>
</data>
<data name="SchemaHierarchy_ServerInstance" xml:space="preserve">
<value>ServerInstance</value>
</data>
<data name="SchemaHierarchy_SelectiveXmlIndexes" xml:space="preserve">
<value>선택적 XML 인덱스</value>
</data>
@@ -947,4 +956,436 @@ votes
<data name="SchemaHierarchy_ColumnEncryptionKeys" xml:space="preserve">
<value>열 암호화 키</value>
</data>
<data name="SchemaHierarchy_Server" xml:space="preserve">
<value>서버</value>
</data>
<data name="ScriptingParams_ConnectionString_Property_Invalid" xml:space="preserve">
<value>ScriptingParams.ConnectionString 속성 분석을 하는 동안 오류가 발생했습니다.</value>
</data>
<data name="ScriptingParams_FilePath_Property_Invalid" xml:space="preserve">
<value>ScriptingParams.FilePath 속성에 잘못된 디렉터리 지정</value>
</data>
<data name="ScriptingListObjectsCompleteParams_ConnectionString_Property_Invalid" xml:space="preserve">
<value>ScriptingListObjectsCompleteParams.ConnectionSring 속성을 분석할때 오류가 생겼습니다.</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterLabelFormatString" xml:space="preserve">
<value>{0}({1}, {2}, {3})</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterNoDefaultLabel" xml:space="preserve">
<value>기본값 없음</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputLabel" xml:space="preserve">
<value>입력</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputOutputLabel" xml:space="preserve">
<value>입/출력</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputReadOnlyLabel" xml:space="preserve">
<value>입력/읽기 전용</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputOutputReadOnlyLabel" xml:space="preserve">
<value>입/출력/읽기 전용</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterDefaultLabel" xml:space="preserve">
<value>기본값</value>
</data>
<data name="SchemaHierarchy_NullColumn_Label" xml:space="preserve">
<value>Null</value>
</data>
<data name="SchemaHierarchy_NotNullColumn_Label" xml:space="preserve">
<value>Not Null</value>
</data>
<data name="SchemaHierarchy_UDDTLabelWithType" xml:space="preserve">
<value>{0}({1}, {2})</value>
</data>
<data name="SchemaHierarchy_UDDTLabelWithoutType" xml:space="preserve">
<value>{0}({1})</value>
</data>
<data name="SchemaHierarchy_ComputedColumnLabelWithType" xml:space="preserve">
<value>{0}({1}계산됨, {2}, {3})</value>
</data>
<data name="SchemaHierarchy_ComputedColumnLabelWithoutType" xml:space="preserve">
<value>{0}({1}계산됨)</value>
</data>
<data name="SchemaHierarchy_ColumnSetLabelWithoutType" xml:space="preserve">
<value>{0}(열 집합, {1})</value>
</data>
<data name="SchemaHierarchy_ColumnSetLabelWithType" xml:space="preserve">
<value>{0}(열 집합, {1}{2}, {3})</value>
</data>
<data name="SchemaHierarchy_ColumnSetLabelWithTypeAndKeyString" xml:space="preserve">
<value>{0}(열 집합, {1}, {2}, {3})</value>
</data>
<data name="UniqueIndex_LabelPart" xml:space="preserve">
<value>고유</value>
</data>
<data name="NonUniqueIndex_LabelPart" xml:space="preserve">
<value>고유하지 않음</value>
</data>
<data name="ClusteredIndex_LabelPart" xml:space="preserve">
<value>클러스터형</value>
</data>
<data name="NonClusteredIndex_LabelPart" xml:space="preserve">
<value>비클러스터형</value>
</data>
<data name="History_LabelPart" xml:space="preserve">
<value>기록</value>
</data>
<data name="SystemVersioned_LabelPart" xml:space="preserve">
<value>시스템 버전 관리</value>
</data>
<data name="unavailable" xml:space="preserve">
<value>사용할 수 없음</value>
</data>
<data name="filegroup_dialog_defaultFilegroup" xml:space="preserve">
<value>현재 기본 파일 그룹: {0}</value>
</data>
<data name="filegroup_dialog_title" xml:space="preserve">
<value>{0}에 대한 새 파일 그룹</value>
</data>
<data name="filegroups_default" xml:space="preserve">
<value>기본값</value>
</data>
<data name="filegroups_files" xml:space="preserve">
<value>파일</value>
</data>
<data name="filegroups_name" xml:space="preserve">
<value>이름</value>
</data>
<data name="filegroups_readonly" xml:space="preserve">
<value>읽기 전용</value>
</data>
<data name="general_autogrowth" xml:space="preserve">
<value>자동 증가 / 최대 크기</value>
</data>
<data name="general_builderText" xml:space="preserve">
<value>...</value>
</data>
<data name="general_default" xml:space="preserve">
<value>&lt;기본값&gt;</value>
</data>
<data name="general_fileGroup" xml:space="preserve">
<value>파일 그룹</value>
</data>
<data name="general_fileName" xml:space="preserve">
<value>논리적 이름</value>
</data>
<data name="general_fileType" xml:space="preserve">
<value>파일 형식</value>
</data>
<data name="general_initialSize" xml:space="preserve">
<value>처음 크기 (MB)</value>
</data>
<data name="general_newFilegroup" xml:space="preserve">
<value>&lt;새 파일 그룹&gt;</value>
</data>
<data name="general_path" xml:space="preserve">
<value>경로</value>
</data>
<data name="general_physicalFileName" xml:space="preserve">
<value>파일 이름</value>
</data>
<data name="general_rawDevice" xml:space="preserve">
<value>&lt;원시 장치&gt;</value>
</data>
<data name="general_recoveryModel_bulkLogged" xml:space="preserve">
<value>대량 로그</value>
</data>
<data name="general_recoveryModel_full" xml:space="preserve">
<value>전체</value>
</data>
<data name="general_recoveryModel_simple" xml:space="preserve">
<value>단순</value>
</data>
<data name="general_titleSearchOwner" xml:space="preserve">
<value>데이터베이스 소유자 선택</value>
</data>
<data name="prototype_autogrowth_disabled" xml:space="preserve">
<value>없음</value>
</data>
<data name="prototype_autogrowth_restrictedGrowthByMB" xml:space="preserve">
<value>{0} MB 단위로 {1} MB까지 제한됨</value>
</data>
<data name="prototype_autogrowth_restrictedGrowthByPercent" xml:space="preserve">
<value>{0} % 단위로 {1} MB까지 제한됨</value>
</data>
<data name="prototype_autogrowth_unrestrictedGrowthByMB" xml:space="preserve">
<value>{0} MB 단위로, 제한 없음</value>
</data>
<data name="prototype_autogrowth_unrestrictedGrowthByPercent" xml:space="preserve">
<value>{0} % 단위로, 제한 없음</value>
</data>
<data name="prototype_autogrowth_unlimitedfilestream" xml:space="preserve">
<value>제한 없음</value>
</data>
<data name="prototype_autogrowth_limitedfilestream" xml:space="preserve">
<value>{0} MB로 제한됨</value>
</data>
<data name="prototype_db_category_automatic" xml:space="preserve">
<value>자동</value>
</data>
<data name="prototype_db_category_servicebroker" xml:space="preserve">
<value>Service Broker</value>
</data>
<data name="prototype_db_category_collation" xml:space="preserve">
<value>데이터 정렬</value>
</data>
<data name="prototype_db_category_cursor" xml:space="preserve">
<value>커서</value>
</data>
<data name="prototype_db_category_misc" xml:space="preserve">
<value>기타</value>
</data>
<data name="prototype_db_category_recovery" xml:space="preserve">
<value>복구</value>
</data>
<data name="prototype_db_category_state" xml:space="preserve">
<value>상태</value>
</data>
<data name="prototype_db_prop_ansiNullDefault" xml:space="preserve">
<value>ANSI NULL 기본값</value>
</data>
<data name="prototype_db_prop_ansiNulls" xml:space="preserve">
<value>ANSI NULLS 사용</value>
</data>
<data name="prototype_db_prop_ansiPadding" xml:space="preserve">
<value>ANSI 패딩 설정</value>
</data>
<data name="prototype_db_prop_ansiWarnings" xml:space="preserve">
<value>ANSI Warnings 사용</value>
</data>
<data name="prototype_db_prop_arithabort" xml:space="preserve">
<value>산술 연산 중단 설정</value>
</data>
<data name="prototype_db_prop_autoClose" xml:space="preserve">
<value>자동 닫기</value>
</data>
<data name="prototype_db_prop_autoCreateStatistics" xml:space="preserve">
<value>통계 자동 작성</value>
</data>
<data name="prototype_db_prop_autoShrink" xml:space="preserve">
<value>자동 축소</value>
</data>
<data name="prototype_db_prop_autoUpdateStatistics" xml:space="preserve">
<value>통계 자동 업데이트</value>
</data>
<data name="prototype_db_prop_autoUpdateStatisticsAsync" xml:space="preserve">
<value>통계를 비동기적으로 자동 업데이트</value>
</data>
<data name="prototype_db_prop_caseSensitive" xml:space="preserve">
<value>대/소문자 구분</value>
</data>
<data name="prototype_db_prop_closeCursorOnCommit" xml:space="preserve">
<value>커밋 시 커서 닫기 설정</value>
</data>
<data name="prototype_db_prop_collation" xml:space="preserve">
<value>데이터 정렬</value>
</data>
<data name="prototype_db_prop_concatNullYieldsNull" xml:space="preserve">
<value>Null 연결 시 Null 생성</value>
</data>
<data name="prototype_db_prop_databaseCompatibilityLevel" xml:space="preserve">
<value>데이터베이스 호환성 수준</value>
</data>
<data name="prototype_db_prop_databaseState" xml:space="preserve">
<value>데이터베이스 상태</value>
</data>
<data name="prototype_db_prop_defaultCursor" xml:space="preserve">
<value>기본 커서</value>
</data>
<data name="prototype_db_prop_fullTextIndexing" xml:space="preserve">
<value>전체 텍스트 인덱싱 설정</value>
</data>
<data name="prototype_db_prop_numericRoundAbort" xml:space="preserve">
<value>숫자 반올림 시 중단</value>
</data>
<data name="prototype_db_prop_pageVerify" xml:space="preserve">
<value>페이지 확인</value>
</data>
<data name="prototype_db_prop_quotedIdentifier" xml:space="preserve">
<value>따옴표 붙은 식별자 설정</value>
</data>
<data name="prototype_db_prop_readOnly" xml:space="preserve">
<value>데이터베이스 읽기 전용</value>
</data>
<data name="prototype_db_prop_recursiveTriggers" xml:space="preserve">
<value>재귀적 트리거 설정</value>
</data>
<data name="prototype_db_prop_restrictAccess" xml:space="preserve">
<value>액세스 제한</value>
</data>
<data name="prototype_db_prop_selectIntoBulkCopy" xml:space="preserve">
<value>SELECT INTO/대량 복사</value>
</data>
<data name="prototype_db_prop_honorBrokerPriority" xml:space="preserve">
<value>Broker 우선 순위 인식</value>
</data>
<data name="prototype_db_prop_serviceBrokerGuid" xml:space="preserve">
<value>Service Broker 식별자</value>
</data>
<data name="prototype_db_prop_brokerEnabled" xml:space="preserve">
<value>Broker 활성화</value>
</data>
<data name="prototype_db_prop_truncateLogOnCheckpoint" xml:space="preserve">
<value>검사점에서 로그 자름</value>
</data>
<data name="prototype_db_prop_dbChaining" xml:space="preserve">
<value>데이터베이스 간 소유권 체인 사용</value>
</data>
<data name="prototype_db_prop_trustworthy" xml:space="preserve">
<value>신뢰</value>
</data>
<data name="prototype_db_prop_dateCorrelationOptimization" xml:space="preserve">
<value>날짜 상관관계 최적화 설정</value>
</data>
<data name="prototype_db_prop_parameterization_value_forced" xml:space="preserve">
<value>강제</value>
</data>
<data name="prototype_db_prop_parameterization_value_simple" xml:space="preserve">
<value>단순</value>
</data>
<data name="prototype_file_dataFile" xml:space="preserve">
<value>ROWS 데이터</value>
</data>
<data name="prototype_file_logFile" xml:space="preserve">
<value>로그</value>
</data>
<data name="prototype_file_filestreamFile" xml:space="preserve">
<value>FILESTREAM 데이터</value>
</data>
<data name="prototype_file_noFileGroup" xml:space="preserve">
<value>해당 사항 없음</value>
</data>
<data name="prototype_file_defaultpathstring" xml:space="preserve">
<value>&lt;기본 경로&gt;</value>
</data>
<data name="title_openConnectionsMustBeClosed" xml:space="preserve">
<value>연결 열기</value>
</data>
<data name="warning_openConnectionsMustBeClosed" xml:space="preserve">
<value>데이터베이스 속성을 변경하기 위해, SQL Server가 database_ 에  다른 연결을 모두 닫아야 합니다. 속성을 변경하고 다른 연결을 모두 닫으시겠습니까?</value>
</data>
<data name="prototype_db_prop_databaseState_value_autoClosed" xml:space="preserve">
<value>AUTO_CLOSED</value>
</data>
<data name="prototype_db_prop_databaseState_value_emergency" xml:space="preserve">
<value>긴급</value>
</data>
<data name="prototype_db_prop_databaseState_value_inaccessible" xml:space="preserve">
<value>INACCESSIBLE</value>
</data>
<data name="prototype_db_prop_databaseState_value_normal" xml:space="preserve">
<value>NORMAL</value>
</data>
<data name="prototype_db_prop_databaseState_value_offline" xml:space="preserve">
<value>오프라인</value>
</data>
<data name="prototype_db_prop_databaseState_value_recovering" xml:space="preserve">
<value>복구 중</value>
</data>
<data name="prototype_db_prop_databaseState_value_recoveryPending" xml:space="preserve">
<value>복구 보류 중</value>
</data>
<data name="prototype_db_prop_databaseState_value_restoring" xml:space="preserve">
<value>RESTORING</value>
</data>
<data name="prototype_db_prop_databaseState_value_shutdown" xml:space="preserve">
<value>SHUTDOWN</value>
</data>
<data name="prototype_db_prop_databaseState_value_standby" xml:space="preserve">
<value>STANDBY</value>
</data>
<data name="prototype_db_prop_databaseState_value_suspect" xml:space="preserve">
<value>SUSPECT</value>
</data>
<data name="prototype_db_prop_defaultCursor_value_global" xml:space="preserve">
<value>GLOBAL</value>
</data>
<data name="prototype_db_prop_defaultCursor_value_local" xml:space="preserve">
<value>LOCAL</value>
</data>
<data name="prototype_db_prop_restrictAccess_value_multiple" xml:space="preserve">
<value>MULTI_USER</value>
</data>
<data name="prototype_db_prop_restrictAccess_value_restricted" xml:space="preserve">
<value>RESTRICTED_USER</value>
</data>
<data name="prototype_db_prop_restrictAccess_value_single" xml:space="preserve">
<value>SINGLE_USER</value>
</data>
<data name="prototype_db_prop_pageVerify_value_checksum" xml:space="preserve">
<value>CHECKSUM</value>
</data>
<data name="prototype_db_prop_pageVerify_value_none" xml:space="preserve">
<value>NONE</value>
</data>
<data name="prototype_db_prop_pageVerify_value_tornPageDetection" xml:space="preserve">
<value>TORN_PAGE_DETECTION</value>
</data>
<data name="prototype_db_prop_varDecimalEnabled" xml:space="preserve">
<value>VarDecimal 저장소 형식 사용</value>
</data>
<data name="compatibilityLevel_katmai" xml:space="preserve">
<value>SQL Server 2008 (100)</value>
</data>
<data name="prototype_db_prop_encryptionEnabled" xml:space="preserve">
<value>암호화 사용</value>
</data>
<data name="prototype_db_prop_databasescopedconfig_value_off" xml:space="preserve">
<value>OFF</value>
</data>
<data name="prototype_db_prop_databasescopedconfig_value_on" xml:space="preserve">
<value>ON</value>
</data>
<data name="prototype_db_prop_databasescopedconfig_value_primary" xml:space="preserve">
<value>PRIMARY</value>
</data>
<data name="error_db_prop_invalidleadingColumns" xml:space="preserve">
<value>배포 정책이 HASH인 경우 선행 해시 열 수는 선택 사항이지만, 선택할 경우 1개에서 16개 사이의 열로 지정해야 합니다.</value>
</data>
<data name="compatibilityLevel_denali" xml:space="preserve">
<value>SQL Server 2012 (110)</value>
</data>
<data name="compatibilityLevel_sql14" xml:space="preserve">
<value>SQL Server 2014 (120)</value>
</data>
<data name="compatibilityLevel_sql15" xml:space="preserve">
<value>SQL Server 2016 (130)</value>
</data>
<data name="compatibilityLevel_sqlvNext" xml:space="preserve">
<value>SQL Server vNext (140)</value>
</data>
<data name="general_containmentType_None" xml:space="preserve">
<value>없음</value>
</data>
<data name="general_containmentType_Partial" xml:space="preserve">
<value>부분</value>
</data>
<data name="filegroups_filestreamFiles" xml:space="preserve">
<value>FILESTREAM 파일</value>
</data>
<data name="prototype_file_noApplicableFileGroup" xml:space="preserve">
<value>해당 파일 그룹 없음</value>
</data>
<data name="DatabaseNotAccessible" xml:space="preserve">
<value>{0} 데이터베이스에 액세스할 수 없습니다.</value>
</data>
<data name="QueryServiceResultSetHasNoResults" xml:space="preserve">
<value>쿼리 반환 결과 없음</value>
</data>
<data name="QueryServiceResultSetTooLarge" xml:space="preserve">
<value>결과 집합의 행 수가 너무 많아서 안전하게 불러들일 수 없습니다.</value>
</data>
<data name="Backup_TaskName" xml:space="preserve">
<value>데이터베이스 백업</value>
</data>
<data name="Task_InProgress" xml:space="preserve">
<value>진행 중</value>
</data>
<data name="Task_Completed" xml:space="preserve">
<value>완료됨</value>
</data>
<data name="prototype_db_prop_parameterization" xml:space="preserve">
<value>매개 변수화</value>
</data>
</root>

View File

@@ -358,7 +358,7 @@
<value>A variável {0} não está definida.</value>
</data>
<data name="TestLocalizationConstant" xml:space="preserve">
<value>EN_LOCALIZATION</value>
<value>teste</value>
</data>
<data name="ErrorEmptyStringReplacement" xml:space="preserve">
<value>Substituição de uma sequência vazia por uma cadeia de caracteres vazia.</value>
@@ -919,9 +919,6 @@
<data name="SchemaHierarchy_TableTypeIndexes" xml:space="preserve">
<value>Índices de Tipos de Tabelas</value>
</data>
<data name="SchemaHierarchy_ServerInstance" xml:space="preserve">
<value>ServerInstance</value>
</data>
<data name="SchemaHierarchy_SelectiveXmlIndexes" xml:space="preserve">
<value>Índices XML Seletivos</value>
</data>
@@ -958,4 +955,436 @@
<data name="SchemaHierarchy_ColumnEncryptionKeys" xml:space="preserve">
<value>Chaves de Criptografia de Colunas</value>
</data>
<data name="SchemaHierarchy_Server" xml:space="preserve">
<value>Servidor</value>
</data>
<data name="ScriptingParams_ConnectionString_Property_Invalid" xml:space="preserve">
<value>Erro ao analisar a propriedade ScriptingParams.ConnectionString.</value>
</data>
<data name="ScriptingParams_FilePath_Property_Invalid" xml:space="preserve">
<value>Diretório inválido especificado pela propriedade ScriptingParams.FilePath.</value>
</data>
<data name="ScriptingListObjectsCompleteParams_ConnectionString_Property_Invalid" xml:space="preserve">
<value>Erro ao analisar a propriedade ScriptingListObjectsCompleteParams.ConnectionString.</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterLabelFormatString" xml:space="preserve">
<value>{0} ({1}, {2}, {3})</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterNoDefaultLabel" xml:space="preserve">
<value>Nenhum padrão</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputLabel" xml:space="preserve">
<value>Entrada</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputOutputLabel" xml:space="preserve">
<value>Entrada/Saída</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputReadOnlyLabel" xml:space="preserve">
<value>Entrada/SomenteLeitura</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputOutputReadOnlyLabel" xml:space="preserve">
<value>Entrada/Saída/SomenteLeitura</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterDefaultLabel" xml:space="preserve">
<value>Padrão</value>
</data>
<data name="SchemaHierarchy_NullColumn_Label" xml:space="preserve">
<value>nulo</value>
</data>
<data name="SchemaHierarchy_NotNullColumn_Label" xml:space="preserve">
<value>não nulo</value>
</data>
<data name="SchemaHierarchy_UDDTLabelWithType" xml:space="preserve">
<value>{0} ({1}, {2})</value>
</data>
<data name="SchemaHierarchy_UDDTLabelWithoutType" xml:space="preserve">
<value>{0} ({1})</value>
</data>
<data name="SchemaHierarchy_ComputedColumnLabelWithType" xml:space="preserve">
<value>{0} ({1} Computado, {2}, {3})</value>
</data>
<data name="SchemaHierarchy_ComputedColumnLabelWithoutType" xml:space="preserve">
<value>{0} ({1}Computado)</value>
</data>
<data name="SchemaHierarchy_ColumnSetLabelWithoutType" xml:space="preserve">
<value>{0} (Conjunto de Colunas, {1})</value>
</data>
<data name="SchemaHierarchy_ColumnSetLabelWithType" xml:space="preserve">
<value>{0} (Conjunto de Colunas, {1}{2}, {3})</value>
</data>
<data name="SchemaHierarchy_ColumnSetLabelWithTypeAndKeyString" xml:space="preserve">
<value>{0} (Conjunto de Colunas, {1}, {2}, {3})</value>
</data>
<data name="UniqueIndex_LabelPart" xml:space="preserve">
<value>Exclusivo</value>
</data>
<data name="NonUniqueIndex_LabelPart" xml:space="preserve">
<value>Não Exclusivo</value>
</data>
<data name="ClusteredIndex_LabelPart" xml:space="preserve">
<value>Clusterizado</value>
</data>
<data name="NonClusteredIndex_LabelPart" xml:space="preserve">
<value>Não Clusterizado</value>
</data>
<data name="History_LabelPart" xml:space="preserve">
<value>Histórico</value>
</data>
<data name="SystemVersioned_LabelPart" xml:space="preserve">
<value>Versionado pelo sistema</value>
</data>
<data name="unavailable" xml:space="preserve">
<value>Indisponível</value>
</data>
<data name="filegroup_dialog_defaultFilegroup" xml:space="preserve">
<value>Grupo de arquivos padrão atual: {0}</value>
</data>
<data name="filegroup_dialog_title" xml:space="preserve">
<value>Novo Grupo de Arquivos para {0}</value>
</data>
<data name="filegroups_default" xml:space="preserve">
<value>Padrão</value>
</data>
<data name="filegroups_files" xml:space="preserve">
<value>Arquivos</value>
</data>
<data name="filegroups_name" xml:space="preserve">
<value>Nome</value>
</data>
<data name="filegroups_readonly" xml:space="preserve">
<value>Somente Leitura</value>
</data>
<data name="general_autogrowth" xml:space="preserve">
<value>Auto crescimento / Tamanho máximo</value>
</data>
<data name="general_builderText" xml:space="preserve">
<value>...</value>
</data>
<data name="general_default" xml:space="preserve">
<value>&lt;padrão&gt;</value>
</data>
<data name="general_fileGroup" xml:space="preserve">
<value>Grupo de Arquivos</value>
</data>
<data name="general_fileName" xml:space="preserve">
<value>Nome Lógico</value>
</data>
<data name="general_fileType" xml:space="preserve">
<value>Tipo de Arquivo</value>
</data>
<data name="general_initialSize" xml:space="preserve">
<value>Tamanho Inicial (MB)</value>
</data>
<data name="general_newFilegroup" xml:space="preserve">
<value>&lt;novo grupo de arquivos&gt;</value>
</data>
<data name="general_path" xml:space="preserve">
<value>Caminho</value>
</data>
<data name="general_physicalFileName" xml:space="preserve">
<value>Nome do Arquivo</value>
</data>
<data name="general_rawDevice" xml:space="preserve">
<value>&lt;dispositivo bruto&gt;</value>
</data>
<data name="general_recoveryModel_bulkLogged" xml:space="preserve">
<value>Logado em massa</value>
</data>
<data name="general_recoveryModel_full" xml:space="preserve">
<value>Completo</value>
</data>
<data name="general_recoveryModel_simple" xml:space="preserve">
<value>Simples</value>
</data>
<data name="general_titleSearchOwner" xml:space="preserve">
<value>Selecionar o proprietário do banco de dados</value>
</data>
<data name="prototype_autogrowth_disabled" xml:space="preserve">
<value>Nenhum</value>
</data>
<data name="prototype_autogrowth_restrictedGrowthByMB" xml:space="preserve">
<value>Por {0} MB, limitado a {1} MB</value>
</data>
<data name="prototype_autogrowth_restrictedGrowthByPercent" xml:space="preserve">
<value>Por {0}%, Limitado a {1} mb</value>
</data>
<data name="prototype_autogrowth_unrestrictedGrowthByMB" xml:space="preserve">
<value>Por {0} MB, Ilimitado</value>
</data>
<data name="prototype_autogrowth_unrestrictedGrowthByPercent" xml:space="preserve">
<value>Por {0}%, Ilimitado</value>
</data>
<data name="prototype_autogrowth_unlimitedfilestream" xml:space="preserve">
<value>Ilimitado</value>
</data>
<data name="prototype_autogrowth_limitedfilestream" xml:space="preserve">
<value>Limitado a {0} MB</value>
</data>
<data name="prototype_db_category_automatic" xml:space="preserve">
<value>Automático</value>
</data>
<data name="prototype_db_category_servicebroker" xml:space="preserve">
<value>Service Broker</value>
</data>
<data name="prototype_db_category_collation" xml:space="preserve">
<value>Agrupamento</value>
</data>
<data name="prototype_db_category_cursor" xml:space="preserve">
<value>Cursor</value>
</data>
<data name="prototype_db_category_misc" xml:space="preserve">
<value>Diversos</value>
</data>
<data name="prototype_db_category_recovery" xml:space="preserve">
<value>Recuperação</value>
</data>
<data name="prototype_db_category_state" xml:space="preserve">
<value>Estado</value>
</data>
<data name="prototype_db_prop_ansiNullDefault" xml:space="preserve">
<value>Padrão ANSI NULL</value>
</data>
<data name="prototype_db_prop_ansiNulls" xml:space="preserve">
<value>ANSI NULLS Habilitado</value>
</data>
<data name="prototype_db_prop_ansiPadding" xml:space="preserve">
<value>Preenchimento ANSI habilitado </value>
</data>
<data name="prototype_db_prop_ansiWarnings" xml:space="preserve">
<value>ANSI Warnings Habilitados</value>
</data>
<data name="prototype_db_prop_arithabort" xml:space="preserve">
<value>Arithmetic Abortar habilitado </value>
</data>
<data name="prototype_db_prop_autoClose" xml:space="preserve">
<value>Fechamento automático</value>
</data>
<data name="prototype_db_prop_autoCreateStatistics" xml:space="preserve">
<value>Criar Estatísticas Automaticamente</value>
</data>
<data name="prototype_db_prop_autoShrink" xml:space="preserve">
<value>Reduzir Automaticamente</value>
</data>
<data name="prototype_db_prop_autoUpdateStatistics" xml:space="preserve">
<value>Estatísticas Atualizadas Automaticamente</value>
</data>
<data name="prototype_db_prop_autoUpdateStatisticsAsync" xml:space="preserve">
<value>Atualizar estatísticas automaticamente de forma assíncrona</value>
</data>
<data name="prototype_db_prop_caseSensitive" xml:space="preserve">
<value>Sensível à Caixa</value>
</data>
<data name="prototype_db_prop_closeCursorOnCommit" xml:space="preserve">
<value>Fechar Cursor na Confirmação Habilitado</value>
</data>
<data name="prototype_db_prop_collation" xml:space="preserve">
<value>Agrupamento</value>
</data>
<data name="prototype_db_prop_concatNullYieldsNull" xml:space="preserve">
<value>Concatenar Nulo Produz Nulo</value>
</data>
<data name="prototype_db_prop_databaseCompatibilityLevel" xml:space="preserve">
<value>Nível de Compatibilidade do Banco de Dados</value>
</data>
<data name="prototype_db_prop_databaseState" xml:space="preserve">
<value>Estado do Banco de Dados</value>
</data>
<data name="prototype_db_prop_defaultCursor" xml:space="preserve">
<value>Cursor Padrão</value>
</data>
<data name="prototype_db_prop_fullTextIndexing" xml:space="preserve">
<value>Indexação Full-Text Habilitada</value>
</data>
<data name="prototype_db_prop_numericRoundAbort" xml:space="preserve">
<value>Anular arredondamento numérico.</value>
</data>
<data name="prototype_db_prop_pageVerify" xml:space="preserve">
<value>Verificação de Página</value>
</data>
<data name="prototype_db_prop_quotedIdentifier" xml:space="preserve">
<value>Identificadores Entre Aspas Habilitados</value>
</data>
<data name="prototype_db_prop_readOnly" xml:space="preserve">
<value>Banco de Dados Somente Leitura</value>
</data>
<data name="prototype_db_prop_recursiveTriggers" xml:space="preserve">
<value>Gatilhos Recursivos Habilitados</value>
</data>
<data name="prototype_db_prop_restrictAccess" xml:space="preserve">
<value>Acesso Restrito</value>
</data>
<data name="prototype_db_prop_selectIntoBulkCopy" xml:space="preserve">
<value>Selecionar Cópia Into/Em Massa</value>
</data>
<data name="prototype_db_prop_honorBrokerPriority" xml:space="preserve">
<value>Respeitar a Prioridade do Broker</value>
</data>
<data name="prototype_db_prop_serviceBrokerGuid" xml:space="preserve">
<value>Identificador de agente de serviço</value>
</data>
<data name="prototype_db_prop_brokerEnabled" xml:space="preserve">
<value>Agente habilitado</value>
</data>
<data name="prototype_db_prop_truncateLogOnCheckpoint" xml:space="preserve">
<value>Truncar o Log no Ponto de Verificação</value>
</data>
<data name="prototype_db_prop_dbChaining" xml:space="preserve">
<value>Encadeamento de Propriedades de Bancos de Dados Habilitado</value>
</data>
<data name="prototype_db_prop_trustworthy" xml:space="preserve">
<value>Confiável</value>
</data>
<data name="prototype_db_prop_dateCorrelationOptimization" xml:space="preserve">
<value>Otimizaçao da Correlação de Data Enabledprototype_db_prop_parameterization = Parametrização</value>
</data>
<data name="prototype_db_prop_parameterization_value_forced" xml:space="preserve">
<value>Forçado</value>
</data>
<data name="prototype_db_prop_parameterization_value_simple" xml:space="preserve">
<value>Simples</value>
</data>
<data name="prototype_file_dataFile" xml:space="preserve">
<value>Dados ROWS</value>
</data>
<data name="prototype_file_logFile" xml:space="preserve">
<value>LOG</value>
</data>
<data name="prototype_file_filestreamFile" xml:space="preserve">
<value>Dados FILESTREAM</value>
</data>
<data name="prototype_file_noFileGroup" xml:space="preserve">
<value>Não aplicável</value>
</data>
<data name="prototype_file_defaultpathstring" xml:space="preserve">
<value>&lt;caminho padrão&gt;</value>
</data>
<data name="title_openConnectionsMustBeClosed" xml:space="preserve">
<value>Conexões Abertas</value>
</data>
<data name="warning_openConnectionsMustBeClosed" xml:space="preserve">
<value>Para modificar as propriedades do banco de dados, o SQL Server deve fechar todas as outras conexões ao banco de dados_ Tem certeza que você quer modificar as propriedades e fechar todas as outras conexões?</value>
</data>
<data name="prototype_db_prop_databaseState_value_autoClosed" xml:space="preserve">
<value>AUTO_CLOSED</value>
</data>
<data name="prototype_db_prop_databaseState_value_emergency" xml:space="preserve">
<value>EMERGÊNCIA</value>
</data>
<data name="prototype_db_prop_databaseState_value_inaccessible" xml:space="preserve">
<value>INACESSÍVEL</value>
</data>
<data name="prototype_db_prop_databaseState_value_normal" xml:space="preserve">
<value>NORMAL</value>
</data>
<data name="prototype_db_prop_databaseState_value_offline" xml:space="preserve">
<value>OFF-LINE</value>
</data>
<data name="prototype_db_prop_databaseState_value_recovering" xml:space="preserve">
<value>RECUPERANDO</value>
</data>
<data name="prototype_db_prop_databaseState_value_recoveryPending" xml:space="preserve">
<value>RECUPERAÇÃO PENDENTE</value>
</data>
<data name="prototype_db_prop_databaseState_value_restoring" xml:space="preserve">
<value>RESTAURANDO</value>
</data>
<data name="prototype_db_prop_databaseState_value_shutdown" xml:space="preserve">
<value>DESLIGAMENTO</value>
</data>
<data name="prototype_db_prop_databaseState_value_standby" xml:space="preserve">
<value>MODO DE ESPERA</value>
</data>
<data name="prototype_db_prop_databaseState_value_suspect" xml:space="preserve">
<value>SUSPEITO</value>
</data>
<data name="prototype_db_prop_defaultCursor_value_global" xml:space="preserve">
<value>GLOBAL</value>
</data>
<data name="prototype_db_prop_defaultCursor_value_local" xml:space="preserve">
<value>LOCAL</value>
</data>
<data name="prototype_db_prop_restrictAccess_value_multiple" xml:space="preserve">
<value>MULTI_USUÁRIO</value>
</data>
<data name="prototype_db_prop_restrictAccess_value_restricted" xml:space="preserve">
<value>USUÁRIO_RESTRITO</value>
</data>
<data name="prototype_db_prop_restrictAccess_value_single" xml:space="preserve">
<value>MONO_USUÁRIO</value>
</data>
<data name="prototype_db_prop_pageVerify_value_checksum" xml:space="preserve">
<value>SOMA DE VERIFICAÇÃO</value>
</data>
<data name="prototype_db_prop_pageVerify_value_none" xml:space="preserve">
<value>NENHUM</value>
</data>
<data name="prototype_db_prop_pageVerify_value_tornPageDetection" xml:space="preserve">
<value>TORN_PAGE_DETECTION</value>
</data>
<data name="prototype_db_prop_varDecimalEnabled" xml:space="preserve">
<value>Formato de Armazenamento VarDecimal Habilitado</value>
</data>
<data name="compatibilityLevel_katmai" xml:space="preserve">
<value>SQL Server 2008 (100)</value>
</data>
<data name="prototype_db_prop_encryptionEnabled" xml:space="preserve">
<value>Criptografia Habilitada</value>
</data>
<data name="prototype_db_prop_databasescopedconfig_value_off" xml:space="preserve">
<value>DESLIGADO</value>
</data>
<data name="prototype_db_prop_databasescopedconfig_value_on" xml:space="preserve">
<value>LIGADO</value>
</data>
<data name="prototype_db_prop_databasescopedconfig_value_primary" xml:space="preserve">
<value>PRIMÁRIO</value>
</data>
<data name="error_db_prop_invalidleadingColumns" xml:space="preserve">
<value>Para a política de distribuição de HASH, o número de colunas hash principais é opcional, mas deve ser de 1 a 16 colunas </value>
</data>
<data name="compatibilityLevel_denali" xml:space="preserve">
<value>SQL Server 2012 (110)</value>
</data>
<data name="compatibilityLevel_sql14" xml:space="preserve">
<value>SQL Server 2014 (120)</value>
</data>
<data name="compatibilityLevel_sql15" xml:space="preserve">
<value>SQL Server 2016 (130)</value>
</data>
<data name="compatibilityLevel_sqlvNext" xml:space="preserve">
<value>SQL Server vNext (140)</value>
</data>
<data name="general_containmentType_None" xml:space="preserve">
<value>Nenhum</value>
</data>
<data name="general_containmentType_Partial" xml:space="preserve">
<value>Parcial</value>
</data>
<data name="filegroups_filestreamFiles" xml:space="preserve">
<value>Arquivos FILESTREAM</value>
</data>
<data name="prototype_file_noApplicableFileGroup" xml:space="preserve">
<value>Nenhum grupo de arquivos aplicável</value>
</data>
<data name="DatabaseNotAccessible" xml:space="preserve">
<value>O banco de dados {0} não está acessível.</value>
</data>
<data name="QueryServiceResultSetHasNoResults" xml:space="preserve">
<value>A consulta não tem resultado para retornar</value>
</data>
<data name="QueryServiceResultSetTooLarge" xml:space="preserve">
<value>Conjunto de resultados tem muitas linhas para ser carregado com segurança</value>
</data>
<data name="Backup_TaskName" xml:space="preserve">
<value>Fazer Backup do Banco de Dados</value>
</data>
<data name="Task_InProgress" xml:space="preserve">
<value>Em andamento</value>
</data>
<data name="Task_Completed" xml:space="preserve">
<value>Concluído</value>
</data>
<data name="prototype_db_prop_parameterization" xml:space="preserve">
<value>Parametrização</value>
</data>
</root>

View File

@@ -1847,4 +1847,68 @@
<value>Restore Database</value>
<comment></comment>
</data>
<data name="RestoreCopyOnly" xml:space="preserve">
<value>(Copy Only)</value>
<comment></comment>
</data>
<data name="RestoreBackupSetComponent" xml:space="preserve">
<value>Component</value>
<comment></comment>
</data>
<data name="RestoreBackupSetName" xml:space="preserve">
<value>Name</value>
<comment></comment>
</data>
<data name="RestoreBackupSetType" xml:space="preserve">
<value>Type</value>
<comment></comment>
</data>
<data name="RestoreBackupSetServer" xml:space="preserve">
<value>Server</value>
<comment></comment>
</data>
<data name="RestoreBackupSetDatabase" xml:space="preserve">
<value>Database</value>
<comment></comment>
</data>
<data name="RestoreBackupSetPosition" xml:space="preserve">
<value>Position</value>
<comment></comment>
</data>
<data name="RestoreBackupSetFirstLsn" xml:space="preserve">
<value>First LSN</value>
<comment></comment>
</data>
<data name="RestoreBackupSetLastLsn" xml:space="preserve">
<value>Last LSN</value>
<comment></comment>
</data>
<data name="RestoreBackupSetCheckpointLsn" xml:space="preserve">
<value>Checkpoint LSN</value>
<comment></comment>
</data>
<data name="RestoreBackupSetFullLsn" xml:space="preserve">
<value>Full LSN</value>
<comment></comment>
</data>
<data name="RestoreBackupSetStartDate" xml:space="preserve">
<value>Start Date</value>
<comment></comment>
</data>
<data name="RestoreBackupSetFinishDate" xml:space="preserve">
<value>Finish Date</value>
<comment></comment>
</data>
<data name="RestoreBackupSetSize" xml:space="preserve">
<value>Size</value>
<comment></comment>
</data>
<data name="RestoreBackupSetUserName" xml:space="preserve">
<value>User Name</value>
<comment></comment>
</data>
<data name="RestoreBackupSetExpiration" xml:space="preserve">
<value>Expiration</value>
<comment></comment>
</data>
</root>

View File

@@ -358,7 +358,7 @@
<value>Переменная {0} не определена.</value>
</data>
<data name="TestLocalizationConstant" xml:space="preserve">
<value>EN_LOCALIZATION</value>
<value>тест</value>
</data>
<data name="ErrorEmptyStringReplacement" xml:space="preserve">
<value>Замена пустой строки на пустую строку.</value>
@@ -468,6 +468,12 @@
<data name="EditDataObjectNotFound" xml:space="preserve">
<value>Запрошенная таблица или представление не найдены.</value>
</data>
<data name="TreeNodeError" xml:space="preserve">
<value>Ошибка при расширении: {0}</value>
</data>
<data name="ServerNodeConnectionError" xml:space="preserve">
<value>Ошибка при подключении к {0}</value>
</data>
<data name="SchemaHierarchy_Aggregates" xml:space="preserve">
<value>Статистические выражения</value>
</data>
@@ -912,9 +918,6 @@
<data name="SchemaHierarchy_TableTypeIndexes" xml:space="preserve">
<value>Индексы типов таблиц</value>
</data>
<data name="SchemaHierarchy_ServerInstance" xml:space="preserve">
<value>ServerInstance</value>
</data>
<data name="SchemaHierarchy_SelectiveXmlIndexes" xml:space="preserve">
<value>Селективные XML-индексы</value>
</data>
@@ -951,4 +954,436 @@
<data name="SchemaHierarchy_ColumnEncryptionKeys" xml:space="preserve">
<value>Ключи шифрования столбца</value>
</data>
<data name="SchemaHierarchy_Server" xml:space="preserve">
<value>Сервер</value>
</data>
<data name="ScriptingParams_ConnectionString_Property_Invalid" xml:space="preserve">
<value>Ошибка при анализе свойства ScriptingParams.ConnectionString.</value>
</data>
<data name="ScriptingParams_FilePath_Property_Invalid" xml:space="preserve">
<value>Недопустимый каталог указан в свойстве ScriptingParams.FilePath.</value>
</data>
<data name="ScriptingListObjectsCompleteParams_ConnectionString_Property_Invalid" xml:space="preserve">
<value>Ошибка при анализе свойства ScriptingListObjectsCompleteParams.ConnectionString.</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterLabelFormatString" xml:space="preserve">
<value>{0} ({1}, {2}, {3})</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterNoDefaultLabel" xml:space="preserve">
<value>Нет значения по умолчанию</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputLabel" xml:space="preserve">
<value>Входной</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputOutputLabel" xml:space="preserve">
<value>Входной/выходной</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputReadOnlyLabel" xml:space="preserve">
<value>Входной/только для чтения</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputOutputReadOnlyLabel" xml:space="preserve">
<value>Входной/выходной/только для чтения</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterDefaultLabel" xml:space="preserve">
<value>Значение по умолчанию</value>
</data>
<data name="SchemaHierarchy_NullColumn_Label" xml:space="preserve">
<value>null</value>
</data>
<data name="SchemaHierarchy_NotNullColumn_Label" xml:space="preserve">
<value>not null</value>
</data>
<data name="SchemaHierarchy_UDDTLabelWithType" xml:space="preserve">
<value>{0} ({1}, {2})</value>
</data>
<data name="SchemaHierarchy_UDDTLabelWithoutType" xml:space="preserve">
<value>{0} ({1})</value>
</data>
<data name="SchemaHierarchy_ComputedColumnLabelWithType" xml:space="preserve">
<value>{0} (вычислено {1}, {2}, {3})</value>
</data>
<data name="SchemaHierarchy_ComputedColumnLabelWithoutType" xml:space="preserve">
<value>{0} (вычислено {1})</value>
</data>
<data name="SchemaHierarchy_ColumnSetLabelWithoutType" xml:space="preserve">
<value>{0} (набор столбцов, {1})</value>
</data>
<data name="SchemaHierarchy_ColumnSetLabelWithType" xml:space="preserve">
<value>{0} (набор столбцов, {1}{2}, {3})</value>
</data>
<data name="SchemaHierarchy_ColumnSetLabelWithTypeAndKeyString" xml:space="preserve">
<value>{0} (набор столбцов, {1}, {2}, {3})</value>
</data>
<data name="UniqueIndex_LabelPart" xml:space="preserve">
<value>UNIQUE</value>
</data>
<data name="NonUniqueIndex_LabelPart" xml:space="preserve">
<value>Неуникальный</value>
</data>
<data name="ClusteredIndex_LabelPart" xml:space="preserve">
<value>Кластеризованный</value>
</data>
<data name="NonClusteredIndex_LabelPart" xml:space="preserve">
<value>Некластеризованный</value>
</data>
<data name="History_LabelPart" xml:space="preserve">
<value>Журнал</value>
</data>
<data name="SystemVersioned_LabelPart" xml:space="preserve">
<value>Системно-версионный</value>
</data>
<data name="unavailable" xml:space="preserve">
<value>Недоступно</value>
</data>
<data name="filegroup_dialog_defaultFilegroup" xml:space="preserve">
<value>Текущая файловая группа по умолчанию: {0}</value>
</data>
<data name="filegroup_dialog_title" xml:space="preserve">
<value>Создание файловой группы для {0}</value>
</data>
<data name="filegroups_default" xml:space="preserve">
<value>Значение по умолчанию</value>
</data>
<data name="filegroups_files" xml:space="preserve">
<value>Файлы</value>
</data>
<data name="filegroups_name" xml:space="preserve">
<value>Имя</value>
</data>
<data name="filegroups_readonly" xml:space="preserve">
<value>Только для чтения</value>
</data>
<data name="general_autogrowth" xml:space="preserve">
<value>Автоувеличение/максимальный размер</value>
</data>
<data name="general_builderText" xml:space="preserve">
<value>...</value>
</data>
<data name="general_default" xml:space="preserve">
<value>&lt;по умолчанию&gt;</value>
</data>
<data name="general_fileGroup" xml:space="preserve">
<value>Группа файлов</value>
</data>
<data name="general_fileName" xml:space="preserve">
<value>Логическое имя</value>
</data>
<data name="general_fileType" xml:space="preserve">
<value>Тип файла</value>
</data>
<data name="general_initialSize" xml:space="preserve">
<value>Начальный размер (МБ)</value>
</data>
<data name="general_newFilegroup" xml:space="preserve">
<value>&lt;создать файловую группу&gt;</value>
</data>
<data name="general_path" xml:space="preserve">
<value>Путь</value>
</data>
<data name="general_physicalFileName" xml:space="preserve">
<value>Имя файла</value>
</data>
<data name="general_rawDevice" xml:space="preserve">
<value>&lt;неформатированный носитель&gt;</value>
</data>
<data name="general_recoveryModel_bulkLogged" xml:space="preserve">
<value>С неполным протоколированием</value>
</data>
<data name="general_recoveryModel_full" xml:space="preserve">
<value>Полная</value>
</data>
<data name="general_recoveryModel_simple" xml:space="preserve">
<value>Простая</value>
</data>
<data name="general_titleSearchOwner" xml:space="preserve">
<value>Выбор владельца базы данных</value>
</data>
<data name="prototype_autogrowth_disabled" xml:space="preserve">
<value>Нет</value>
</data>
<data name="prototype_autogrowth_restrictedGrowthByMB" xml:space="preserve">
<value>С шагом по {0} МБ до {1} МБ</value>
</data>
<data name="prototype_autogrowth_restrictedGrowthByPercent" xml:space="preserve">
<value>С шагом по {0}% до {1} МБ </value>
</data>
<data name="prototype_autogrowth_unrestrictedGrowthByMB" xml:space="preserve">
<value>С шагом по {0} МБ, без ограничений</value>
</data>
<data name="prototype_autogrowth_unrestrictedGrowthByPercent" xml:space="preserve">
<value>С шагом по {0} %, без ограничений</value>
</data>
<data name="prototype_autogrowth_unlimitedfilestream" xml:space="preserve">
<value>Без ограничений</value>
</data>
<data name="prototype_autogrowth_limitedfilestream" xml:space="preserve">
<value>Ограничено {0} МБ</value>
</data>
<data name="prototype_db_category_automatic" xml:space="preserve">
<value>Автоматически</value>
</data>
<data name="prototype_db_category_servicebroker" xml:space="preserve">
<value>Service Broker</value>
</data>
<data name="prototype_db_category_collation" xml:space="preserve">
<value>Параметры сортировки</value>
</data>
<data name="prototype_db_category_cursor" xml:space="preserve">
<value>Курсор</value>
</data>
<data name="prototype_db_category_misc" xml:space="preserve">
<value>Прочее</value>
</data>
<data name="prototype_db_category_recovery" xml:space="preserve">
<value>Восстановление</value>
</data>
<data name="prototype_db_category_state" xml:space="preserve">
<value>Состояние</value>
</data>
<data name="prototype_db_prop_ansiNullDefault" xml:space="preserve">
<value>По умолчанию ANSI NULL</value>
</data>
<data name="prototype_db_prop_ansiNulls" xml:space="preserve">
<value>Значения ANSI NULLS включены</value>
</data>
<data name="prototype_db_prop_ansiPadding" xml:space="preserve">
<value>Включено заполнение ANSI </value>
</data>
<data name="prototype_db_prop_ansiWarnings" xml:space="preserve">
<value>Включены предупреждения ANSI</value>
</data>
<data name="prototype_db_prop_arithabort" xml:space="preserve">
<value>Включено прерывание при делении на ноль </value>
</data>
<data name="prototype_db_prop_autoClose" xml:space="preserve">
<value>Auto Close</value>
</data>
<data name="prototype_db_prop_autoCreateStatistics" xml:space="preserve">
<value>Автоматическое создание статистики</value>
</data>
<data name="prototype_db_prop_autoShrink" xml:space="preserve">
<value>Автоматическое сжатие</value>
</data>
<data name="prototype_db_prop_autoUpdateStatistics" xml:space="preserve">
<value>Автоматическое обновление статистики </value>
</data>
<data name="prototype_db_prop_autoUpdateStatisticsAsync" xml:space="preserve">
<value>Асинхронное автообновление статистики</value>
</data>
<data name="prototype_db_prop_caseSensitive" xml:space="preserve">
<value>Case Sensitive</value>
</data>
<data name="prototype_db_prop_closeCursorOnCommit" xml:space="preserve">
<value>Закрывать курсор при разрешении фиксации </value>
</data>
<data name="prototype_db_prop_collation" xml:space="preserve">
<value>Параметры сортировки</value>
</data>
<data name="prototype_db_prop_concatNullYieldsNull" xml:space="preserve">
<value>Объединение со значением NULL дает NULL </value>
</data>
<data name="prototype_db_prop_databaseCompatibilityLevel" xml:space="preserve">
<value>Уровень совместимости базы данных</value>
</data>
<data name="prototype_db_prop_databaseState" xml:space="preserve">
<value>Состояние базы данных </value>
</data>
<data name="prototype_db_prop_defaultCursor" xml:space="preserve">
<value>Курсор по умолчанию</value>
</data>
<data name="prototype_db_prop_fullTextIndexing" xml:space="preserve">
<value>Полнотекстовое индексирование включено </value>
</data>
<data name="prototype_db_prop_numericRoundAbort" xml:space="preserve">
<value>Автоокругление чисел </value>
</data>
<data name="prototype_db_prop_pageVerify" xml:space="preserve">
<value>Проверка страниц </value>
</data>
<data name="prototype_db_prop_quotedIdentifier" xml:space="preserve">
<value>Включены заключенные в кавычки идентификаторы</value>
</data>
<data name="prototype_db_prop_readOnly" xml:space="preserve">
<value>База данных только для чтения</value>
</data>
<data name="prototype_db_prop_recursiveTriggers" xml:space="preserve">
<value>Включены рекурсивные триггеры </value>
</data>
<data name="prototype_db_prop_restrictAccess" xml:space="preserve">
<value>Ограничение доступа</value>
</data>
<data name="prototype_db_prop_selectIntoBulkCopy" xml:space="preserve">
<value>Выбор/Массовое копирование </value>
</data>
<data name="prototype_db_prop_honorBrokerPriority" xml:space="preserve">
<value>Учитывать приоритет компонента Honor Broker</value>
</data>
<data name="prototype_db_prop_serviceBrokerGuid" xml:space="preserve">
<value>Идентификатор компонента Service Broker</value>
</data>
<data name="prototype_db_prop_brokerEnabled" xml:space="preserve">
<value>Включен компонент Broker</value>
</data>
<data name="prototype_db_prop_truncateLogOnCheckpoint" xml:space="preserve">
<value>Усечение журнала на контрольной точке </value>
</data>
<data name="prototype_db_prop_dbChaining" xml:space="preserve">
<value>Межбазовые цепочки владения включены</value>
</data>
<data name="prototype_db_prop_trustworthy" xml:space="preserve">
<value>Заслуживает доверия</value>
</data>
<data name="prototype_db_prop_dateCorrelationOptimization" xml:space="preserve">
<value>Date Correlation Optimization Enabledprototype_db_prop_parameterization = Parameterization</value>
</data>
<data name="prototype_db_prop_parameterization_value_forced" xml:space="preserve">
<value>Принудительное</value>
</data>
<data name="prototype_db_prop_parameterization_value_simple" xml:space="preserve">
<value>Простая</value>
</data>
<data name="prototype_file_dataFile" xml:space="preserve">
<value>Данные СТРОК</value>
</data>
<data name="prototype_file_logFile" xml:space="preserve">
<value>ЖУРНАЛ</value>
</data>
<data name="prototype_file_filestreamFile" xml:space="preserve">
<value>Данные FILESTREAM</value>
</data>
<data name="prototype_file_noFileGroup" xml:space="preserve">
<value>Неприменимо</value>
</data>
<data name="prototype_file_defaultpathstring" xml:space="preserve">
<value>&lt;default path&gt;</value>
</data>
<data name="title_openConnectionsMustBeClosed" xml:space="preserve">
<value>Открытые соединения</value>
</data>
<data name="warning_openConnectionsMustBeClosed" xml:space="preserve">
<value>Чтобы изменить свойства базы данных, SQL Server должен закрыть все остальные соединения с этой базой данных. Изменить свойства и закрыть остальные соединения?</value>
</data>
<data name="prototype_db_prop_databaseState_value_autoClosed" xml:space="preserve">
<value>AUTO_CLOSED</value>
</data>
<data name="prototype_db_prop_databaseState_value_emergency" xml:space="preserve">
<value>EMERGENCY</value>
</data>
<data name="prototype_db_prop_databaseState_value_inaccessible" xml:space="preserve">
<value>INACCESSIBLE</value>
</data>
<data name="prototype_db_prop_databaseState_value_normal" xml:space="preserve">
<value>NORMAL</value>
</data>
<data name="prototype_db_prop_databaseState_value_offline" xml:space="preserve">
<value>OFFLINE</value>
</data>
<data name="prototype_db_prop_databaseState_value_recovering" xml:space="preserve">
<value>RECOVERING</value>
</data>
<data name="prototype_db_prop_databaseState_value_recoveryPending" xml:space="preserve">
<value>RECOVERY PENDING</value>
</data>
<data name="prototype_db_prop_databaseState_value_restoring" xml:space="preserve">
<value>RESTORING</value>
</data>
<data name="prototype_db_prop_databaseState_value_shutdown" xml:space="preserve">
<value>SHUTDOWN</value>
</data>
<data name="prototype_db_prop_databaseState_value_standby" xml:space="preserve">
<value>STANDBY</value>
</data>
<data name="prototype_db_prop_databaseState_value_suspect" xml:space="preserve">
<value>SUSPECT</value>
</data>
<data name="prototype_db_prop_defaultCursor_value_global" xml:space="preserve">
<value>GLOBAL</value>
</data>
<data name="prototype_db_prop_defaultCursor_value_local" xml:space="preserve">
<value>LOCAL</value>
</data>
<data name="prototype_db_prop_restrictAccess_value_multiple" xml:space="preserve">
<value>MULTI_USER</value>
</data>
<data name="prototype_db_prop_restrictAccess_value_restricted" xml:space="preserve">
<value>RESTRICTED_USER</value>
</data>
<data name="prototype_db_prop_restrictAccess_value_single" xml:space="preserve">
<value>SINGLE_USER</value>
</data>
<data name="prototype_db_prop_pageVerify_value_checksum" xml:space="preserve">
<value>CHECKSUM</value>
</data>
<data name="prototype_db_prop_pageVerify_value_none" xml:space="preserve">
<value>Нет</value>
</data>
<data name="prototype_db_prop_pageVerify_value_tornPageDetection" xml:space="preserve">
<value>TORN_PAGE_DETECTION</value>
</data>
<data name="prototype_db_prop_varDecimalEnabled" xml:space="preserve">
<value>Включен формат хранения VarDecimal</value>
</data>
<data name="compatibilityLevel_katmai" xml:space="preserve">
<value>SQL Server 2008 (100)</value>
</data>
<data name="prototype_db_prop_encryptionEnabled" xml:space="preserve">
<value>Шифрование включено</value>
</data>
<data name="prototype_db_prop_databasescopedconfig_value_off" xml:space="preserve">
<value>ОТКЛ.</value>
</data>
<data name="prototype_db_prop_databasescopedconfig_value_on" xml:space="preserve">
<value>ВКЛ.</value>
</data>
<data name="prototype_db_prop_databasescopedconfig_value_primary" xml:space="preserve">
<value>ПЕРВИЧНЫЙ</value>
</data>
<data name="error_db_prop_invalidleadingColumns" xml:space="preserve">
<value>Для политики распространения HASH количество начальных хэш-столбцов указывать не обязательно. Оно может составлять от 1 до 16 столбцов</value>
</data>
<data name="compatibilityLevel_denali" xml:space="preserve">
<value>SQL Server 2012 (110)</value>
</data>
<data name="compatibilityLevel_sql14" xml:space="preserve">
<value>SQL Server 2014 (120)</value>
</data>
<data name="compatibilityLevel_sql15" xml:space="preserve">
<value>SQL Server 2016 (130)</value>
</data>
<data name="compatibilityLevel_sqlvNext" xml:space="preserve">
<value>SQL Server vNext (140)</value>
</data>
<data name="general_containmentType_None" xml:space="preserve">
<value>Нет</value>
</data>
<data name="general_containmentType_Partial" xml:space="preserve">
<value>Частично</value>
</data>
<data name="filegroups_filestreamFiles" xml:space="preserve">
<value>Файлы FILESTREAM</value>
</data>
<data name="prototype_file_noApplicableFileGroup" xml:space="preserve">
<value>Применимая файловая группа отсутствует</value>
</data>
<data name="DatabaseNotAccessible" xml:space="preserve">
<value>База данных {0} недоступна.</value>
</data>
<data name="QueryServiceResultSetHasNoResults" xml:space="preserve">
<value>запрос не имеет результатов</value>
</data>
<data name="QueryServiceResultSetTooLarge" xml:space="preserve">
<value>Pезультатов слишком много строк для безопасной загрузки</value>
</data>
<data name="Backup_TaskName" xml:space="preserve">
<value>Резервное копирование базы данных</value>
</data>
<data name="Task_InProgress" xml:space="preserve">
<value>Выполняется</value>
</data>
<data name="Task_Completed" xml:space="preserve">
<value>Завершен</value>
</data>
<data name="prototype_db_prop_parameterization" xml:space="preserve">
<value>Параметризация</value>
</data>
</root>

View File

@@ -819,4 +819,20 @@ InvalidPathForDatabaseFile = Invalid path for database file: '{0}'
Log = Log
RestorePlanFailed = Failed to create restore plan
RestoreNotSupported = Restore database is not supported
RestoreTaskName = Restore Database
RestoreTaskName = Restore Database
RestoreCopyOnly = (Copy Only)
RestoreBackupSetComponent = Component
RestoreBackupSetName = Name
RestoreBackupSetType = Type
RestoreBackupSetServer = Server
RestoreBackupSetDatabase = Database
RestoreBackupSetPosition = Position
RestoreBackupSetFirstLsn = First LSN
RestoreBackupSetLastLsn = Last LSN
RestoreBackupSetCheckpointLsn = Checkpoint LSN
RestoreBackupSetFullLsn = Full LSN
RestoreBackupSetStartDate = Start Date
RestoreBackupSetFinishDate = Finish Date
RestoreBackupSetSize = Size
RestoreBackupSetUserName = User Name
RestoreBackupSetExpiration = Expiration

View File

@@ -2159,6 +2159,86 @@
<target state="new">Restore Database</target>
<note></note>
</trans-unit>
<trans-unit id="RestoreCopyOnly">
<source>(Copy Only)</source>
<target state="new">(Copy Only)</target>
<note></note>
</trans-unit>
<trans-unit id="RestoreBackupSetComponent">
<source>Component</source>
<target state="new">Component</target>
<note></note>
</trans-unit>
<trans-unit id="RestoreBackupSetType">
<source>Type</source>
<target state="new">Type</target>
<note></note>
</trans-unit>
<trans-unit id="RestoreBackupSetServer">
<source>Server</source>
<target state="new">Server</target>
<note></note>
</trans-unit>
<trans-unit id="RestoreBackupSetDatabase">
<source>Database</source>
<target state="new">Database</target>
<note></note>
</trans-unit>
<trans-unit id="RestoreBackupSetPosition">
<source>Position</source>
<target state="new">Position</target>
<note></note>
</trans-unit>
<trans-unit id="RestoreBackupSetFirstLsn">
<source>First LSN</source>
<target state="new">First LSN</target>
<note></note>
</trans-unit>
<trans-unit id="RestoreBackupSetLastLsn">
<source>Last LSN</source>
<target state="new">Last LSN</target>
<note></note>
</trans-unit>
<trans-unit id="RestoreBackupSetCheckpointLsn">
<source>Checkpoint LSN</source>
<target state="new">Checkpoint LSN</target>
<note></note>
</trans-unit>
<trans-unit id="RestoreBackupSetFullLsn">
<source>Full LSN</source>
<target state="new">Full LSN</target>
<note></note>
</trans-unit>
<trans-unit id="RestoreBackupSetStartDate">
<source>Start Date</source>
<target state="new">Start Date</target>
<note></note>
</trans-unit>
<trans-unit id="RestoreBackupSetFinishDate">
<source>Finish Date</source>
<target state="new">Finish Date</target>
<note></note>
</trans-unit>
<trans-unit id="RestoreBackupSetSize">
<source>Size</source>
<target state="new">Size</target>
<note></note>
</trans-unit>
<trans-unit id="RestoreBackupSetUserName">
<source>User Name</source>
<target state="new">User Name</target>
<note></note>
</trans-unit>
<trans-unit id="RestoreBackupSetExpiration">
<source>Expiration</source>
<target state="new">Expiration</target>
<note></note>
</trans-unit>
<trans-unit id="RestoreBackupSetName">
<source>Name</source>
<target state="new">Name</target>
<note></note>
</trans-unit>
</body>
</file>
</xliff>

View File

@@ -124,7 +124,7 @@
<value>OwnerUri 不能为 null 或为空</value>
</data>
<data name="ConnectionServiceListDbErrorNotConnected" xml:space="preserve">
<value>SpecifiedUri"{0} 没有有的连接</value>
<value>SpecifiedUri '{0}' 没有有的连接</value>
</data>
<data name="ConnectionServiceConnStringInvalidAuthType" xml:space="preserve">
<value>AuthenticationType 值"{0}" 无效。 有效值为 'Integrated' 和 'SqlLogin'。</value>
@@ -358,7 +358,7 @@
<value>未定义变量 {0}。</value>
</data>
<data name="TestLocalizationConstant" xml:space="preserve">
<value>EN_LOCALIZATION</value>
<value>测试</value>
</data>
<data name="ErrorEmptyStringReplacement" xml:space="preserve">
<value>用空字符串取代空字符串。</value>
@@ -435,6 +435,45 @@
<data name="EditDataNullNotAllowed" xml:space="preserve">
<value>该列不允许Null 值</value>
</data>
<data name="EditDataSessionAlreadyExists" xml:space="preserve">
<value>编辑会话已存在</value>
</data>
<data name="EditDataSessionNotInitialized" xml:space="preserve">
<value>编辑会话尚未初始化</value>
</data>
<data name="EditDataSessionAlreadyInitialized" xml:space="preserve">
<value>编辑会话已被初始化</value>
</data>
<data name="EditDataSessionAlreadyInitializing" xml:space="preserve">
<value>编辑会话已被初始化或正在初始化中</value>
</data>
<data name="EditDataQueryFailed" xml:space="preserve">
<value>执行查询失败,查看消息了解更多详情</value>
</data>
<data name="EditDataFilteringNegativeLimit" xml:space="preserve">
<value>结果集的限制值不能为负数</value>
</data>
<data name="QueryServiceCellNull" xml:space="preserve">
<value>空</value>
</data>
<data name="EditDataMetadataObjectNameRequired" xml:space="preserve">
<value>必须提供对象名称</value>
</data>
<data name="EditDataMetadataTooManyIdentifiers" xml:space="preserve">
<value>不支持显式指定服务器或者数据库</value>
</data>
<data name="EditDataMetadataNotExtended" xml:space="preserve">
<value>数据表的元数据没有扩展属性</value>
</data>
<data name="EditDataObjectNotFound" xml:space="preserve">
<value>找不到请求编辑的数据表或视图</value>
</data>
<data name="TreeNodeError" xml:space="preserve">
<value>扩展数据库时出错: {0}</value>
</data>
<data name="ServerNodeConnectionError" xml:space="preserve">
<value>连接到 {0} 时出错</value>
</data>
<data name="SchemaHierarchy_Aggregates" xml:space="preserve">
<value>聚合</value>
</data>
@@ -879,9 +918,6 @@
<data name="SchemaHierarchy_TableTypeIndexes" xml:space="preserve">
<value>表类型索引</value>
</data>
<data name="SchemaHierarchy_ServerInstance" xml:space="preserve">
<value>ServerInstance</value>
</data>
<data name="SchemaHierarchy_SelectiveXmlIndexes" xml:space="preserve">
<value>选择性 XML 索引</value>
</data>
@@ -918,4 +954,436 @@
<data name="SchemaHierarchy_ColumnEncryptionKeys" xml:space="preserve">
<value>列加密密钥</value>
</data>
<data name="SchemaHierarchy_Server" xml:space="preserve">
<value>服务器</value>
</data>
<data name="ScriptingParams_ConnectionString_Property_Invalid" xml:space="preserve">
<value>解析属性 ScriptingParams.ConnectionString 时出错</value>
</data>
<data name="ScriptingParams_FilePath_Property_Invalid" xml:space="preserve">
<value>ScriptingParams.FilePath 属性指定的路径是无效目录</value>
</data>
<data name="ScriptingListObjectsCompleteParams_ConnectionString_Property_Invalid" xml:space="preserve">
<value>解析属性 ScriptingListObjectsCompleteParams.ConnectionString 时出错</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterLabelFormatString" xml:space="preserve">
<value>{0} ({1}, {2}, {3})</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterNoDefaultLabel" xml:space="preserve">
<value>无默认值</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputLabel" xml:space="preserve">
<value>输入</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputOutputLabel" xml:space="preserve">
<value>输入/输出</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputReadOnlyLabel" xml:space="preserve">
<value>输入/只读</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputOutputReadOnlyLabel" xml:space="preserve">
<value>输入/输出/只读</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterDefaultLabel" xml:space="preserve">
<value>默认值</value>
</data>
<data name="SchemaHierarchy_NullColumn_Label" xml:space="preserve">
<value>Null</value>
</data>
<data name="SchemaHierarchy_NotNullColumn_Label" xml:space="preserve">
<value>非 Null</value>
</data>
<data name="SchemaHierarchy_UDDTLabelWithType" xml:space="preserve">
<value>{0} ({1}, {2})</value>
</data>
<data name="SchemaHierarchy_UDDTLabelWithoutType" xml:space="preserve">
<value>{0} ({1})</value>
</data>
<data name="SchemaHierarchy_ComputedColumnLabelWithType" xml:space="preserve">
<value>{0} ({1}Computed, {2}, {3})</value>
</data>
<data name="SchemaHierarchy_ComputedColumnLabelWithoutType" xml:space="preserve">
<value>{0} ({1}Computed)</value>
</data>
<data name="SchemaHierarchy_ColumnSetLabelWithoutType" xml:space="preserve">
<value>{0} (列集,{1})</value>
</data>
<data name="SchemaHierarchy_ColumnSetLabelWithType" xml:space="preserve">
<value>{0} (列集,{1}{2}{3})</value>
</data>
<data name="SchemaHierarchy_ColumnSetLabelWithTypeAndKeyString" xml:space="preserve">
<value>{0} (列集,{1}{2}{3})</value>
</data>
<data name="UniqueIndex_LabelPart" xml:space="preserve">
<value>唯一</value>
</data>
<data name="NonUniqueIndex_LabelPart" xml:space="preserve">
<value>非唯一</value>
</data>
<data name="ClusteredIndex_LabelPart" xml:space="preserve">
<value>聚集</value>
</data>
<data name="NonClusteredIndex_LabelPart" xml:space="preserve">
<value>非聚集</value>
</data>
<data name="History_LabelPart" xml:space="preserve">
<value>历史记录</value>
</data>
<data name="SystemVersioned_LabelPart" xml:space="preserve">
<value>带有系统版本</value>
</data>
<data name="unavailable" xml:space="preserve">
<value>不可用</value>
</data>
<data name="filegroup_dialog_defaultFilegroup" xml:space="preserve">
<value>当前默认文件组: {0}</value>
</data>
<data name="filegroup_dialog_title" xml:space="preserve">
<value>{0} 的新文件组</value>
</data>
<data name="filegroups_default" xml:space="preserve">
<value>默认值</value>
</data>
<data name="filegroups_files" xml:space="preserve">
<value>文件</value>
</data>
<data name="filegroups_name" xml:space="preserve">
<value>名称</value>
</data>
<data name="filegroups_readonly" xml:space="preserve">
<value>只读</value>
</data>
<data name="general_autogrowth" xml:space="preserve">
<value>自动增长/最大大小</value>
</data>
<data name="general_builderText" xml:space="preserve">
<value>...</value>
</data>
<data name="general_default" xml:space="preserve">
<value>&lt;默认值&gt;</value>
</data>
<data name="general_fileGroup" xml:space="preserve">
<value>文件组</value>
</data>
<data name="general_fileName" xml:space="preserve">
<value>逻辑名</value>
</data>
<data name="general_fileType" xml:space="preserve">
<value>文件类型</value>
</data>
<data name="general_initialSize" xml:space="preserve">
<value>初始大小 (MB)</value>
</data>
<data name="general_newFilegroup" xml:space="preserve">
<value>&lt;新文件组&gt;</value>
</data>
<data name="general_path" xml:space="preserve">
<value>路径</value>
</data>
<data name="general_physicalFileName" xml:space="preserve">
<value>文件名</value>
</data>
<data name="general_rawDevice" xml:space="preserve">
<value>&lt;原始设备&gt;</value>
</data>
<data name="general_recoveryModel_bulkLogged" xml:space="preserve">
<value>批量记录的</value>
</data>
<data name="general_recoveryModel_full" xml:space="preserve">
<value>满</value>
</data>
<data name="general_recoveryModel_simple" xml:space="preserve">
<value>简单</value>
</data>
<data name="general_titleSearchOwner" xml:space="preserve">
<value>选择数据库所有者</value>
</data>
<data name="prototype_autogrowth_disabled" xml:space="preserve">
<value>无</value>
</data>
<data name="prototype_autogrowth_restrictedGrowthByMB" xml:space="preserve">
<value>增量为 {0} MB限制为 {1} MB</value>
</data>
<data name="prototype_autogrowth_restrictedGrowthByPercent" xml:space="preserve">
<value>增量为 {0}%,限制为 {1} MB</value>
</data>
<data name="prototype_autogrowth_unrestrictedGrowthByMB" xml:space="preserve">
<value>增量为 {0} MB增长无限制</value>
</data>
<data name="prototype_autogrowth_unrestrictedGrowthByPercent" xml:space="preserve">
<value>增量为 {0}%,增长无限制</value>
</data>
<data name="prototype_autogrowth_unlimitedfilestream" xml:space="preserve">
<value>无限制</value>
</data>
<data name="prototype_autogrowth_limitedfilestream" xml:space="preserve">
<value>不超过{0} MB</value>
</data>
<data name="prototype_db_category_automatic" xml:space="preserve">
<value>自动</value>
</data>
<data name="prototype_db_category_servicebroker" xml:space="preserve">
<value>Service Broker</value>
</data>
<data name="prototype_db_category_collation" xml:space="preserve">
<value>排序规则</value>
</data>
<data name="prototype_db_category_cursor" xml:space="preserve">
<value>游标</value>
</data>
<data name="prototype_db_category_misc" xml:space="preserve">
<value>杂项</value>
</data>
<data name="prototype_db_category_recovery" xml:space="preserve">
<value>恢复</value>
</data>
<data name="prototype_db_category_state" xml:space="preserve">
<value>状态</value>
</data>
<data name="prototype_db_prop_ansiNullDefault" xml:space="preserve">
<value>ANSI NULL 默认值</value>
</data>
<data name="prototype_db_prop_ansiNulls" xml:space="preserve">
<value>启用 ANSI NULLS</value>
</data>
<data name="prototype_db_prop_ansiPadding" xml:space="preserve">
<value>ANSI 填充已启用 </value>
</data>
<data name="prototype_db_prop_ansiWarnings" xml:space="preserve">
<value>启用 ANSI 警告</value>
</data>
<data name="prototype_db_prop_arithabort" xml:space="preserve">
<value>算术中止已启用</value>
</data>
<data name="prototype_db_prop_autoClose" xml:space="preserve">
<value>自动关闭</value>
</data>
<data name="prototype_db_prop_autoCreateStatistics" xml:space="preserve">
<value>自动创建统计信息</value>
</data>
<data name="prototype_db_prop_autoShrink" xml:space="preserve">
<value>自动收缩</value>
</data>
<data name="prototype_db_prop_autoUpdateStatistics" xml:space="preserve">
<value>自动更新统计信息</value>
</data>
<data name="prototype_db_prop_autoUpdateStatisticsAsync" xml:space="preserve">
<value>自动异步更新统计信息</value>
</data>
<data name="prototype_db_prop_caseSensitive" xml:space="preserve">
<value>区分大小写的</value>
</data>
<data name="prototype_db_prop_closeCursorOnCommit" xml:space="preserve">
<value>已启用“提交时关闭游标”</value>
</data>
<data name="prototype_db_prop_collation" xml:space="preserve">
<value>排序规则</value>
</data>
<data name="prototype_db_prop_concatNullYieldsNull" xml:space="preserve">
<value>串联 Null 时得到 Null</value>
</data>
<data name="prototype_db_prop_databaseCompatibilityLevel" xml:space="preserve">
<value>数据库兼容级别</value>
</data>
<data name="prototype_db_prop_databaseState" xml:space="preserve">
<value>数据库状态</value>
</data>
<data name="prototype_db_prop_defaultCursor" xml:space="preserve">
<value>默认游标</value>
</data>
<data name="prototype_db_prop_fullTextIndexing" xml:space="preserve">
<value>已启用全文索引</value>
</data>
<data name="prototype_db_prop_numericRoundAbort" xml:space="preserve">
<value>数值舍入 —— 中止</value>
</data>
<data name="prototype_db_prop_pageVerify" xml:space="preserve">
<value>页验证</value>
</data>
<data name="prototype_db_prop_quotedIdentifier" xml:space="preserve">
<value>已启用 Quoted Identifiers</value>
</data>
<data name="prototype_db_prop_readOnly" xml:space="preserve">
<value>数据库为只读的</value>
</data>
<data name="prototype_db_prop_recursiveTriggers" xml:space="preserve">
<value>已启用 Recursive Triggers</value>
</data>
<data name="prototype_db_prop_restrictAccess" xml:space="preserve">
<value>限制访问</value>
</data>
<data name="prototype_db_prop_selectIntoBulkCopy" xml:space="preserve">
<value>Select Into/Bulk Copy</value>
</data>
<data name="prototype_db_prop_honorBrokerPriority" xml:space="preserve">
<value>优先处理 Broker 优先级</value>
</data>
<data name="prototype_db_prop_serviceBrokerGuid" xml:space="preserve">
<value>Service Broker Identifier</value>
</data>
<data name="prototype_db_prop_brokerEnabled" xml:space="preserve">
<value>已启用 Broker</value>
</data>
<data name="prototype_db_prop_truncateLogOnCheckpoint" xml:space="preserve">
<value>在检查点删除日志</value>
</data>
<data name="prototype_db_prop_dbChaining" xml:space="preserve">
<value>启用跨数据库所有权链接</value>
</data>
<data name="prototype_db_prop_trustworthy" xml:space="preserve">
<value>可信</value>
</data>
<data name="prototype_db_prop_dateCorrelationOptimization" xml:space="preserve">
<value>Date Correlation Optimization 已启用 prototype_db_prop_parameterization = Parameterization</value>
</data>
<data name="prototype_db_prop_parameterization_value_forced" xml:space="preserve">
<value>强迫的</value>
</data>
<data name="prototype_db_prop_parameterization_value_simple" xml:space="preserve">
<value>简单</value>
</data>
<data name="prototype_file_dataFile" xml:space="preserve">
<value>行数据</value>
</data>
<data name="prototype_file_logFile" xml:space="preserve">
<value>日志</value>
</data>
<data name="prototype_file_filestreamFile" xml:space="preserve">
<value>FILESTREAM 数据</value>
</data>
<data name="prototype_file_noFileGroup" xml:space="preserve">
<value>不适用</value>
</data>
<data name="prototype_file_defaultpathstring" xml:space="preserve">
<value>&lt;默认路径&gt;</value>
</data>
<data name="title_openConnectionsMustBeClosed" xml:space="preserve">
<value>开着的连接</value>
</data>
<data name="warning_openConnectionsMustBeClosed" xml:space="preserve">
<value>SQL Server 需要关闭所有其它连接来改变数据库属性——你确认要改变属性并关闭所有其它连接吗?</value>
</data>
<data name="prototype_db_prop_databaseState_value_autoClosed" xml:space="preserve">
<value>AUTO_CLOSED</value>
</data>
<data name="prototype_db_prop_databaseState_value_emergency" xml:space="preserve">
<value>紧急</value>
</data>
<data name="prototype_db_prop_databaseState_value_inaccessible" xml:space="preserve">
<value>不可访问</value>
</data>
<data name="prototype_db_prop_databaseState_value_normal" xml:space="preserve">
<value>一般</value>
</data>
<data name="prototype_db_prop_databaseState_value_offline" xml:space="preserve">
<value>离线</value>
</data>
<data name="prototype_db_prop_databaseState_value_recovering" xml:space="preserve">
<value>恢复中</value>
</data>
<data name="prototype_db_prop_databaseState_value_recoveryPending" xml:space="preserve">
<value>等待恢复</value>
</data>
<data name="prototype_db_prop_databaseState_value_restoring" xml:space="preserve">
<value>恢复中</value>
</data>
<data name="prototype_db_prop_databaseState_value_shutdown" xml:space="preserve">
<value>关机</value>
</data>
<data name="prototype_db_prop_databaseState_value_standby" xml:space="preserve">
<value>待机</value>
</data>
<data name="prototype_db_prop_databaseState_value_suspect" xml:space="preserve">
<value>怀疑</value>
</data>
<data name="prototype_db_prop_defaultCursor_value_global" xml:space="preserve">
<value>全局</value>
</data>
<data name="prototype_db_prop_defaultCursor_value_local" xml:space="preserve">
<value>ju</value>
</data>
<data name="prototype_db_prop_restrictAccess_value_multiple" xml:space="preserve">
<value>MULTI_USER</value>
</data>
<data name="prototype_db_prop_restrictAccess_value_restricted" xml:space="preserve">
<value>RESTRICTED_USER</value>
</data>
<data name="prototype_db_prop_restrictAccess_value_single" xml:space="preserve">
<value>SINGLE_USER</value>
</data>
<data name="prototype_db_prop_pageVerify_value_checksum" xml:space="preserve">
<value>校验码</value>
</data>
<data name="prototype_db_prop_pageVerify_value_none" xml:space="preserve">
<value>没有</value>
</data>
<data name="prototype_db_prop_pageVerify_value_tornPageDetection" xml:space="preserve">
<value>TORN_PAGE_DETECTION</value>
</data>
<data name="prototype_db_prop_varDecimalEnabled" xml:space="preserve">
<value>启用 VarDecimal 存储格式</value>
</data>
<data name="compatibilityLevel_katmai" xml:space="preserve">
<value>SQL Server 2008 (100)</value>
</data>
<data name="prototype_db_prop_encryptionEnabled" xml:space="preserve">
<value>启用加密</value>
</data>
<data name="prototype_db_prop_databasescopedconfig_value_off" xml:space="preserve">
<value>关</value>
</data>
<data name="prototype_db_prop_databasescopedconfig_value_on" xml:space="preserve">
<value>开</value>
</data>
<data name="prototype_db_prop_databasescopedconfig_value_primary" xml:space="preserve">
<value>首要的</value>
</data>
<data name="error_db_prop_invalidleadingColumns" xml:space="preserve">
<value>对于分配政策HASH开始的哈希列的数量是可选的但是应在1到16之间</value>
</data>
<data name="compatibilityLevel_denali" xml:space="preserve">
<value>SQL Server 2012 (110)</value>
</data>
<data name="compatibilityLevel_sql14" xml:space="preserve">
<value>SQL Server 2014 (120)</value>
</data>
<data name="compatibilityLevel_sql15" xml:space="preserve">
<value>SQL Server 2016 (130)</value>
</data>
<data name="compatibilityLevel_sqlvNext" xml:space="preserve">
<value>SQL Server vNext (140)</value>
</data>
<data name="general_containmentType_None" xml:space="preserve">
<value>无</value>
</data>
<data name="general_containmentType_Partial" xml:space="preserve">
<value>部分</value>
</data>
<data name="filegroups_filestreamFiles" xml:space="preserve">
<value>FILESTREAM 文件</value>
</data>
<data name="prototype_file_noApplicableFileGroup" xml:space="preserve">
<value>没有可用的文件组</value>
</data>
<data name="DatabaseNotAccessible" xml:space="preserve">
<value>数据库 {0} 无法访问。</value>
</data>
<data name="QueryServiceResultSetHasNoResults" xml:space="preserve">
<value>无查询结果</value>
</data>
<data name="QueryServiceResultSetTooLarge" xml:space="preserve">
<value>资料行因结果集太长而可能无法加载</value>
</data>
<data name="Backup_TaskName" xml:space="preserve">
<value>备份数据库</value>
</data>
<data name="Task_InProgress" xml:space="preserve">
<value>正在进行</value>
</data>
<data name="Task_Completed" xml:space="preserve">
<value>已完成</value>
</data>
<data name="prototype_db_prop_parameterization" xml:space="preserve">
<value>参数化</value>
</data>
</root>

View File

@@ -145,7 +145,7 @@
<value>ServerName 不能是 null 或空白</value>
</data>
<data name="ConnectionParamsValidateNullSqlAuth" xml:space="preserve">
<value>{0} 不可為空值或空白,使用 SqlLogin 驗證時</value>
<value>使用 SqlLogin 驗證時{0} 不可為 null 或是空白</value>
</data>
<data name="QueryServiceCancelAlreadyCompleted" xml:space="preserve">
<value>查詢已完成,無法取消</value>
@@ -358,7 +358,7 @@
<value>未定義變數 {0}。</value>
</data>
<data name="TestLocalizationConstant" xml:space="preserve">
<value>EN_LOCALIZATION</value>
<value>測試</value>
</data>
<data name="ErrorEmptyStringReplacement" xml:space="preserve">
<value>用空白字串取代空白字串。</value>
@@ -441,6 +441,9 @@
<data name="EditDataSessionNotInitialized" xml:space="preserve">
<value>編輯工作階段尚未初始化</value>
</data>
<data name="EditDataSessionAlreadyInitialized" xml:space="preserve">
<value>編輯工作階段已初始化</value>
</data>
<data name="EditDataSessionAlreadyInitializing" xml:space="preserve">
<value>編輯工作階段已完成初始化或正在初始化</value>
</data>
@@ -456,6 +459,21 @@
<data name="EditDataMetadataObjectNameRequired" xml:space="preserve">
<value>必須提供物件名稱</value>
</data>
<data name="EditDataMetadataTooManyIdentifiers" xml:space="preserve">
<value>不支援明確指定的伺服器或資料庫</value>
</data>
<data name="EditDataMetadataNotExtended" xml:space="preserve">
<value>資料表中繼資料無擴充屬性</value>
</data>
<data name="EditDataObjectNotFound" xml:space="preserve">
<value>找不到要編輯的資料表或檢視表</value>
</data>
<data name="TreeNodeError" xml:space="preserve">
<value>擴充資料庫時發生錯誤:{0}</value>
</data>
<data name="ServerNodeConnectionError" xml:space="preserve">
<value>連接到 {0} 時發生錯誤</value>
</data>
<data name="SchemaHierarchy_Aggregates" xml:space="preserve">
<value>彙總</value>
</data>
@@ -900,9 +918,6 @@
<data name="SchemaHierarchy_TableTypeIndexes" xml:space="preserve">
<value>資料表類型索引</value>
</data>
<data name="SchemaHierarchy_ServerInstance" xml:space="preserve">
<value>ServerInstance</value>
</data>
<data name="SchemaHierarchy_SelectiveXmlIndexes" xml:space="preserve">
<value>選擇性 XML 索引</value>
</data>
@@ -939,4 +954,438 @@
<data name="SchemaHierarchy_ColumnEncryptionKeys" xml:space="preserve">
<value>資料行加密金鑰</value>
</data>
<data name="SchemaHierarchy_Server" xml:space="preserve">
<value>伺服器</value>
</data>
<data name="ScriptingParams_ConnectionString_Property_Invalid" xml:space="preserve">
<value>剖析屬性 ScriptingParams.ConnectionString 時發生錯誤</value>
</data>
<data name="ScriptingParams_FilePath_Property_Invalid" xml:space="preserve">
<value>ScriptingParams.FilePath 屬性指定的路径是無效目錄</value>
</data>
<data name="ScriptingListObjectsCompleteParams_ConnectionString_Property_Invalid" xml:space="preserve">
<value>剖析屬性 ScriptingListObjectsCompleteParams.ConnectionString 時發生錯誤</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterLabelFormatString" xml:space="preserve">
<value>{0} ({1}{2}{3})</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterNoDefaultLabel" xml:space="preserve">
<value>無預設值</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputLabel" xml:space="preserve">
<value>輸入</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputOutputLabel" xml:space="preserve">
<value>輸入/輸出</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputReadOnlyLabel" xml:space="preserve">
<value>輸入/唯讀</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterInputOutputReadOnlyLabel" xml:space="preserve">
<value>輸入/輸出/唯讀</value>
</data>
<data name="SchemaHierarchy_SubroutineParameterDefaultLabel" xml:space="preserve">
<value>預設值</value>
</data>
<data name="SchemaHierarchy_NullColumn_Label" xml:space="preserve">
<value>Null</value>
</data>
<data name="SchemaHierarchy_NotNullColumn_Label" xml:space="preserve">
<value>非 Null</value>
</data>
<data name="SchemaHierarchy_UDDTLabelWithType" xml:space="preserve">
<value>{0} ({1}{2})</value>
</data>
<data name="SchemaHierarchy_UDDTLabelWithoutType" xml:space="preserve">
<value>{0} ({1})</value>
</data>
<data name="SchemaHierarchy_ComputedColumnLabelWithType" xml:space="preserve">
<value>{0} ({1} 已計算,{2}{3})</value>
</data>
<data name="SchemaHierarchy_ComputedColumnLabelWithoutType" xml:space="preserve">
<value>{0} ({1} 已計算)</value>
</data>
<data name="SchemaHierarchy_ColumnSetLabelWithoutType" xml:space="preserve">
<value>{0} (資料行集,{1})</value>
</data>
<data name="SchemaHierarchy_ColumnSetLabelWithType" xml:space="preserve">
<value>{0} (資料行集,{1}{2}{3})</value>
</data>
<data name="SchemaHierarchy_ColumnSetLabelWithTypeAndKeyString" xml:space="preserve">
<value>{0} (資料行集,{1}{2}{3})</value>
</data>
<data name="UniqueIndex_LabelPart" xml:space="preserve">
<value>唯一</value>
</data>
<data name="NonUniqueIndex_LabelPart" xml:space="preserve">
<value>非唯一</value>
</data>
<data name="ClusteredIndex_LabelPart" xml:space="preserve">
<value>叢集</value>
</data>
<data name="NonClusteredIndex_LabelPart" xml:space="preserve">
<value>非叢集</value>
</data>
<data name="History_LabelPart" xml:space="preserve">
<value>歷程記錄</value>
</data>
<data name="SystemVersioned_LabelPart" xml:space="preserve">
<value>系統建立版本</value>
</data>
<data name="unavailable" xml:space="preserve">
<value>無法使用</value>
</data>
<data name="filegroup_dialog_defaultFilegroup" xml:space="preserve">
<value>當前預設檔案群組: {0}</value>
</data>
<data name="filegroup_dialog_title" xml:space="preserve">
<value>{0} 的新檔案群組</value>
</data>
<data name="filegroups_default" xml:space="preserve">
<value>預設值</value>
</data>
<data name="filegroups_files" xml:space="preserve">
<value>檔案</value>
</data>
<data name="filegroups_name" xml:space="preserve">
<value>名稱</value>
</data>
<data name="filegroups_readonly" xml:space="preserve">
<value>唯讀</value>
</data>
<data name="general_autogrowth" xml:space="preserve">
<value>自動成長 / 大小上限</value>
</data>
<data name="general_builderText" xml:space="preserve">
<value>...</value>
</data>
<data name="general_default" xml:space="preserve">
<value>&lt;預設&gt;</value>
</data>
<data name="general_fileGroup" xml:space="preserve">
<value>檔案群組</value>
</data>
<data name="general_fileName" xml:space="preserve">
<value>邏輯名稱</value>
</data>
<data name="general_fileType" xml:space="preserve">
<value>檔案類型</value>
</data>
<data name="general_initialSize" xml:space="preserve">
<value>初始大小 (MB)</value>
</data>
<data name="general_newFilegroup" xml:space="preserve">
<value>&lt;新增檔案群組&gt;</value>
</data>
<data name="general_path" xml:space="preserve">
<value>路徑</value>
</data>
<data name="general_physicalFileName" xml:space="preserve">
<value>檔案名稱</value>
</data>
<data name="general_rawDevice" xml:space="preserve">
<value>&lt;未經處理的裝置&gt;</value>
</data>
<data name="general_recoveryModel_bulkLogged" xml:space="preserve">
<value>大量記錄</value>
</data>
<data name="general_recoveryModel_full" xml:space="preserve">
<value>Full</value>
</data>
<data name="general_recoveryModel_simple" xml:space="preserve">
<value>Simple</value>
</data>
<data name="general_titleSearchOwner" xml:space="preserve">
<value>選取資料庫擁有者</value>
</data>
<data name="prototype_autogrowth_disabled" xml:space="preserve">
<value>無</value>
</data>
<data name="prototype_autogrowth_restrictedGrowthByMB" xml:space="preserve">
<value>以 {0} MB 為單位,限制為 {1} MB</value>
</data>
<data name="prototype_autogrowth_restrictedGrowthByPercent" xml:space="preserve">
<value>以百分之 {0} 為單位,限制為 {1} MB</value>
</data>
<data name="prototype_autogrowth_unrestrictedGrowthByMB" xml:space="preserve">
<value>以 {0} MB 為單位,無限制</value>
</data>
<data name="prototype_autogrowth_unrestrictedGrowthByPercent" xml:space="preserve">
<value>以百分之 {0} 為單位,無限制</value>
</data>
<data name="prototype_autogrowth_unlimitedfilestream" xml:space="preserve">
<value>無限制</value>
</data>
<data name="prototype_autogrowth_limitedfilestream" xml:space="preserve">
<value>限制為 {0} MB</value>
</data>
<data name="prototype_db_category_automatic" xml:space="preserve">
<value>自動</value>
</data>
<data name="prototype_db_category_servicebroker" xml:space="preserve">
<value>Service Broker</value>
</data>
<data name="prototype_db_category_collation" xml:space="preserve">
<value>定序</value>
</data>
<data name="prototype_db_category_cursor" xml:space="preserve">
<value>資料指標</value>
</data>
<data name="prototype_db_category_misc" xml:space="preserve">
<value>其他</value>
</data>
<data name="prototype_db_category_recovery" xml:space="preserve">
<value>復原</value>
</data>
<data name="prototype_db_category_state" xml:space="preserve">
<value>狀態</value>
</data>
<data name="prototype_db_prop_ansiNullDefault" xml:space="preserve">
<value>ANSI NULL 預設值</value>
</data>
<data name="prototype_db_prop_ansiNulls" xml:space="preserve">
<value>ANSI NULLS 已啟用</value>
</data>
<data name="prototype_db_prop_ansiPadding" xml:space="preserve">
<value>
ANSI Padding 已啟用</value>
</data>
<data name="prototype_db_prop_ansiWarnings" xml:space="preserve">
<value>ANSI Warnings 已啟用</value>
</data>
<data name="prototype_db_prop_arithabort" xml:space="preserve">
<value>Arithmetic Abort 已啟用</value>
</data>
<data name="prototype_db_prop_autoClose" xml:space="preserve">
<value>自動關閉</value>
</data>
<data name="prototype_db_prop_autoCreateStatistics" xml:space="preserve">
<value>自動建立統計資料</value>
</data>
<data name="prototype_db_prop_autoShrink" xml:space="preserve">
<value>自動壓縮</value>
</data>
<data name="prototype_db_prop_autoUpdateStatistics" xml:space="preserve">
<value>自動更新統計資料</value>
</data>
<data name="prototype_db_prop_autoUpdateStatisticsAsync" xml:space="preserve">
<value>自動非同步更新統計資料</value>
</data>
<data name="prototype_db_prop_caseSensitive" xml:space="preserve">
<value>區分大小寫</value>
</data>
<data name="prototype_db_prop_closeCursorOnCommit" xml:space="preserve">
<value>認可時關閉資料指標已啟用</value>
</data>
<data name="prototype_db_prop_collation" xml:space="preserve">
<value>定序</value>
</data>
<data name="prototype_db_prop_concatNullYieldsNull" xml:space="preserve">
<value>串連 Null 產生 Null</value>
</data>
<data name="prototype_db_prop_databaseCompatibilityLevel" xml:space="preserve">
<value>資料庫相容性層級</value>
</data>
<data name="prototype_db_prop_databaseState" xml:space="preserve">
<value>資料庫狀態</value>
</data>
<data name="prototype_db_prop_defaultCursor" xml:space="preserve">
<value>預設資料指標</value>
</data>
<data name="prototype_db_prop_fullTextIndexing" xml:space="preserve">
<value>全文檢索索引已啟用</value>
</data>
<data name="prototype_db_prop_numericRoundAbort" xml:space="preserve">
<value>數值捨入中止</value>
</data>
<data name="prototype_db_prop_pageVerify" xml:space="preserve">
<value>頁面確認</value>
</data>
<data name="prototype_db_prop_quotedIdentifier" xml:space="preserve">
<value>引號識別碼已啟用</value>
</data>
<data name="prototype_db_prop_readOnly" xml:space="preserve">
<value>資料庫唯讀</value>
</data>
<data name="prototype_db_prop_recursiveTriggers" xml:space="preserve">
<value>遞迴觸發程序已啟用</value>
</data>
<data name="prototype_db_prop_restrictAccess" xml:space="preserve">
<value>限制存取</value>
</data>
<data name="prototype_db_prop_selectIntoBulkCopy" xml:space="preserve">
<value>選取/大量複製</value>
</data>
<data name="prototype_db_prop_honorBrokerPriority" xml:space="preserve">
<value>接受 Broker 優先權</value>
</data>
<data name="prototype_db_prop_serviceBrokerGuid" xml:space="preserve">
<value>Service Broker 識別碼</value>
</data>
<data name="prototype_db_prop_brokerEnabled" xml:space="preserve">
<value>Broker 已啟用</value>
</data>
<data name="prototype_db_prop_truncateLogOnCheckpoint" xml:space="preserve">
<value>在檢查點截斷記錄</value>
</data>
<data name="prototype_db_prop_dbChaining" xml:space="preserve">
<value>已啟用跨資料庫擁有權鏈結</value>
</data>
<data name="prototype_db_prop_trustworthy" xml:space="preserve">
<value>可信任</value>
</data>
<data name="prototype_db_prop_dateCorrelationOptimization" xml:space="preserve">
<value>已啟用日期相互關聯最佳化 prototype_db_prop_parameterization = 參數化</value>
</data>
<data name="prototype_db_prop_parameterization_value_forced" xml:space="preserve">
<value>強制</value>
</data>
<data name="prototype_db_prop_parameterization_value_simple" xml:space="preserve">
<value>簡易</value>
</data>
<data name="prototype_file_dataFile" xml:space="preserve">
<value>資料列資料</value>
</data>
<data name="prototype_file_logFile" xml:space="preserve">
<value>LOG</value>
</data>
<data name="prototype_file_filestreamFile" xml:space="preserve">
<value>FILESTREAM 資料</value>
</data>
<data name="prototype_file_noFileGroup" xml:space="preserve">
<value> 不適用</value>
</data>
<data name="prototype_file_defaultpathstring" xml:space="preserve">
<value>&lt;預設路徑&gt;</value>
</data>
<data name="title_openConnectionsMustBeClosed" xml:space="preserve">
<value>開啟連接</value>
</data>
<data name="warning_openConnectionsMustBeClosed" xml:space="preserve">
<value>為了變更資料庫屬性SQL Server必須關閉所有其他與資料庫的連線。
確定要變更屬性並關閉所有其他連線嗎?</value>
</data>
<data name="prototype_db_prop_databaseState_value_autoClosed" xml:space="preserve">
<value>AUTO_CLOSED</value>
</data>
<data name="prototype_db_prop_databaseState_value_emergency" xml:space="preserve">
<value>EMERGENCY</value>
</data>
<data name="prototype_db_prop_databaseState_value_inaccessible" xml:space="preserve">
<value>INACCESSIBLE</value>
</data>
<data name="prototype_db_prop_databaseState_value_normal" xml:space="preserve">
<value>NORMAL</value>
</data>
<data name="prototype_db_prop_databaseState_value_offline" xml:space="preserve">
<value>OFFLINE</value>
</data>
<data name="prototype_db_prop_databaseState_value_recovering" xml:space="preserve">
<value>RECOVERING</value>
</data>
<data name="prototype_db_prop_databaseState_value_recoveryPending" xml:space="preserve">
<value>RECOVERY PENDING</value>
</data>
<data name="prototype_db_prop_databaseState_value_restoring" xml:space="preserve">
<value>RESTORING</value>
</data>
<data name="prototype_db_prop_databaseState_value_shutdown" xml:space="preserve">
<value>SHUTDOWN</value>
</data>
<data name="prototype_db_prop_databaseState_value_standby" xml:space="preserve">
<value>STANDBY</value>
</data>
<data name="prototype_db_prop_databaseState_value_suspect" xml:space="preserve">
<value>SUSPECT</value>
</data>
<data name="prototype_db_prop_defaultCursor_value_global" xml:space="preserve">
<value>GLOBAL</value>
</data>
<data name="prototype_db_prop_defaultCursor_value_local" xml:space="preserve">
<value>LOCAL</value>
</data>
<data name="prototype_db_prop_restrictAccess_value_multiple" xml:space="preserve">
<value>MULTI_USER</value>
</data>
<data name="prototype_db_prop_restrictAccess_value_restricted" xml:space="preserve">
<value>RESTRICTED_USER</value>
</data>
<data name="prototype_db_prop_restrictAccess_value_single" xml:space="preserve">
<value>SINGLE_USER</value>
</data>
<data name="prototype_db_prop_pageVerify_value_checksum" xml:space="preserve">
<value>CHECKSUM</value>
</data>
<data name="prototype_db_prop_pageVerify_value_none" xml:space="preserve">
<value>NONE</value>
</data>
<data name="prototype_db_prop_pageVerify_value_tornPageDetection" xml:space="preserve">
<value>TORN_PAGE_DETECTION</value>
</data>
<data name="prototype_db_prop_varDecimalEnabled" xml:space="preserve">
<value>VarDecimal 儲存格式已啟用</value>
</data>
<data name="compatibilityLevel_katmai" xml:space="preserve">
<value>SQL Server 2008 (100)</value>
</data>
<data name="prototype_db_prop_encryptionEnabled" xml:space="preserve">
<value>加密已啟用</value>
</data>
<data name="prototype_db_prop_databasescopedconfig_value_off" xml:space="preserve">
<value>OFF</value>
</data>
<data name="prototype_db_prop_databasescopedconfig_value_on" xml:space="preserve">
<value>ON</value>
</data>
<data name="prototype_db_prop_databasescopedconfig_value_primary" xml:space="preserve">
<value>PRIMARY</value>
</data>
<data name="error_db_prop_invalidleadingColumns" xml:space="preserve">
<value>散發原則 HASH 的前置雜湊資料行是選擇性的,但應該介於 1 到 16 個資料行之間。</value>
</data>
<data name="compatibilityLevel_denali" xml:space="preserve">
<value>SQL Server 2012 (110)</value>
</data>
<data name="compatibilityLevel_sql14" xml:space="preserve">
<value>SQL Server 2014 (120)</value>
</data>
<data name="compatibilityLevel_sql15" xml:space="preserve">
<value>SQL Server 2016 (130)</value>
</data>
<data name="compatibilityLevel_sqlvNext" xml:space="preserve">
<value>SQL Server vNext (140)</value>
</data>
<data name="general_containmentType_None" xml:space="preserve">
<value>無</value>
</data>
<data name="general_containmentType_Partial" xml:space="preserve">
<value>Partial</value>
</data>
<data name="filegroups_filestreamFiles" xml:space="preserve">
<value>FILESTREAM 檔案</value>
</data>
<data name="prototype_file_noApplicableFileGroup" xml:space="preserve">
<value>沒有適用的檔案群組</value>
</data>
<data name="DatabaseNotAccessible" xml:space="preserve">
<value>無法存取資料庫 {0}。</value>
</data>
<data name="QueryServiceResultSetHasNoResults" xml:space="preserve">
<value>沒有查詢結果可以回傳</value>
</data>
<data name="QueryServiceResultSetTooLarge" xml:space="preserve">
<value>資料列因結果集太長而無法載入</value>
</data>
<data name="Backup_TaskName" xml:space="preserve">
<value>備份資料庫</value>
</data>
<data name="Task_InProgress" xml:space="preserve">
<value>進行中</value>
</data>
<data name="Task_Completed" xml:space="preserve">
<value>已完成</value>
</data>
<data name="prototype_db_prop_parameterization" xml:space="preserve">
<value>參數化</value>
</data>
</root>

View File

@@ -190,8 +190,11 @@ namespace Microsoft.SqlTools.ServiceLayer.TaskServices
WaitHandle.WaitAny(waitHandles);
try
{
await this.TaskToCancel(this);
result.TaskStatus = SqlTaskStatus.Canceled;
if (token.IsCancellationRequested)
{
await this.TaskToCancel(this);
result.TaskStatus = SqlTaskStatus.Canceled;
}
}
catch (Exception ex)
{

View File

@@ -0,0 +1,69 @@
//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
//
using System;
using System.Collections.Generic;
using System.Globalization;
using Microsoft.SqlTools.Utility;
namespace Microsoft.SqlTools.ServiceLayer.Utility
{
public class GeneralRequestDetails
{
public GeneralRequestDetails()
{
Options = new Dictionary<string, object>();
}
protected T GetOptionValue<T>(string name)
{
T result = default(T);
if (Options != null && Options.ContainsKey(name))
{
object value = Options[name];
try
{
if (value != null && (typeof(T) != value.GetType()))
{
if (typeof(T) == typeof(int) || typeof(T) == typeof(int?))
{
value = Convert.ToInt32(value);
}
else if (typeof(T) == typeof(bool) || typeof(T) == typeof(bool?))
{
value = Convert.ToBoolean(value);
}
}
result = value != null ? (T)value : default(T);
}
catch
{
result = default(T);
Logger.Write(LogLevel.Warning, string.Format(CultureInfo.InvariantCulture,
"Cannot convert option value {0}:{1} to {2}", name, value ?? "", typeof(T)));
}
}
return result;
}
protected void SetOptionValue<T>(string name, T value)
{
Options = Options ?? new Dictionary<string, object>();
if (Options.ContainsKey(name))
{
Options[name] = value;
}
else
{
Options.Add(name, value);
}
}
/// <summary>
/// Gets or Sets the options
/// </summary>
public Dictionary<string, object> Options { get; set; }
}
}

View File

@@ -3,13 +3,17 @@
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
//
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlTools.Extensibility;
using Microsoft.SqlTools.Hosting.Protocol;
using Microsoft.SqlTools.ServiceLayer.Admin;
using Microsoft.SqlTools.ServiceLayer.Connection;
using Microsoft.SqlTools.ServiceLayer.DisasterRecovery;
using Microsoft.SqlTools.ServiceLayer.DisasterRecovery.Contracts;
@@ -29,6 +33,7 @@ namespace Microsoft.SqlTools.ServiceLayer.IntegrationTests.DisasterRecovery
private ConnectionService _connectService = TestServiceProvider.Instance.ConnectionService;
private Mock<IProtocolEndpoint> serviceHostMock;
private DisasterRecoveryService service;
private string fullBackUpDatabase;
public RestoreDatabaseServiceTests()
{
@@ -37,26 +42,81 @@ namespace Microsoft.SqlTools.ServiceLayer.IntegrationTests.DisasterRecovery
service.InitializeService(serviceHostMock.Object);
}
private async Task VerifyBackupFileCreated()
{
if(fullBackUpDatabase == null)
{
fullBackUpDatabase = await CreateBackupFile();
}
}
[Fact]
public async void RestorePlanShouldCreatedSuccessfullyForFullBackup()
{
string backupFileName = "FullBackup.bak";
await VerifyBackupFileCreated();
bool canRestore = true;
await VerifyRestore(backupFileName, canRestore);
await VerifyRestore(fullBackUpDatabase, canRestore);
}
[Fact]
public async void RestoreShouldCreatedSuccessfullyGivenTwoBackupFiles()
{
string[] backupFileNames = new string[] { "FullBackup.bak", "DiffBackup.bak" };
bool canRestore = true;
var response = await VerifyRestore(backupFileNames, canRestore, false, "RestoredFromTwoBackupFile");
Assert.True(response.BackupSetsToRestore.Count() == 2);
}
[Fact]
public async void RestoreShouldFailGivenTwoBackupFilesButFilterFullBackup()
{
string[] backupFileNames = new string[] { "FullBackup.bak", "DiffBackup.bak" };
bool canRestore = true;
var response = await VerifyRestore(backupFileNames, canRestore, false, "RestoredFromTwoBackupFile");
Assert.True(response.BackupSetsToRestore.Count() == 2);
var fileInfo = response.BackupSetsToRestore.FirstOrDefault(x => x.GetPropertyValueAsString(BackupSetInfo.BackupTypePropertyName) != RestoreConstants.TypeFull);
if(fileInfo != null)
{
var selectedBackupSets = new string[] { fileInfo.Id };
await VerifyRestore(backupFileNames, false, false, "RestoredFromTwoBackupFile", selectedBackupSets);
}
}
[Fact]
public async void RestoreShouldCompletedSuccessfullyGivenTowBackupFilesButFilterDifferentialBackup()
{
string[] backupFileNames = new string[] { "FullBackup.bak", "DiffBackup.bak" };
bool canRestore = true;
var response = await VerifyRestore(backupFileNames, canRestore, false, "RestoredFromTwoBackupFile");
Assert.True(response.BackupSetsToRestore.Count() == 2);
var fileInfo = response.BackupSetsToRestore.FirstOrDefault(x => x.GetPropertyValueAsString(BackupSetInfo.BackupTypePropertyName) == RestoreConstants.TypeFull);
if (fileInfo != null)
{
var selectedBackupSets = new string[] { fileInfo.Id };
await VerifyRestore(backupFileNames, true, false, "RestoredFromTwoBackupFile2", selectedBackupSets);
}
}
[Fact]
public async void RestoreShouldExecuteSuccessfullyForFullBackup()
{
string backupFileName = "FullBackup.bak";
await VerifyBackupFileCreated();
string backupFileName = fullBackUpDatabase;
bool canRestore = true;
var restorePlan = await VerifyRestore(backupFileName, canRestore, true);
Assert.NotNull(restorePlan.BackupSetsToRestore);
}
[Fact]
public async void RestoreToAnotherDatabaseShouldExecuteSuccessfullyForFullBackup()
{
string backupFileName = "FullBackup.bak";
await VerifyBackupFileCreated();
string backupFileName = fullBackUpDatabase;
bool canRestore = true;
var restorePlan = await VerifyRestore(backupFileName, canRestore, true, "NewRestoredDatabase");
}
@@ -80,15 +140,17 @@ namespace Microsoft.SqlTools.ServiceLayer.IntegrationTests.DisasterRecovery
[Fact]
public async Task RestorePlanRequestShouldReturnResponseWithDbFiles()
{
await VerifyBackupFileCreated();
using (SelfCleaningTempFile queryTempFile = new SelfCleaningTempFile())
{
TestConnectionResult connectionResult = await LiveConnectionHelper.InitLiveConnectionInfoAsync("master", queryTempFile.FilePath);
string filePath = GetBackupFilePath("FullBackup.bak");
string filePath = GetBackupFilePath(fullBackUpDatabase);
RestoreParams restoreParams = new RestoreParams
{
BackupFilePath = filePath,
BackupFilePaths = filePath,
OwnerUri = queryTempFile.FilePath
};
@@ -97,7 +159,6 @@ namespace Microsoft.SqlTools.ServiceLayer.IntegrationTests.DisasterRecovery
verify: ((result) =>
{
Assert.True(result.DbFiles.Any());
Assert.Equal(result.DatabaseName, "BackupTestDb");
}));
}
}
@@ -113,7 +174,7 @@ namespace Microsoft.SqlTools.ServiceLayer.IntegrationTests.DisasterRecovery
RestoreParams restoreParams = new RestoreParams
{
BackupFilePath = filePath,
BackupFilePaths = filePath,
OwnerUri = queryTempFile.FilePath
};
@@ -140,7 +201,7 @@ namespace Microsoft.SqlTools.ServiceLayer.IntegrationTests.DisasterRecovery
RestoreParams restoreParams = new RestoreParams
{
BackupFilePath = filePath,
BackupFilePaths = filePath,
OwnerUri = queryTempFile.FilePath
};
@@ -164,7 +225,15 @@ namespace Microsoft.SqlTools.ServiceLayer.IntegrationTests.DisasterRecovery
private async Task<RestorePlanResponse> VerifyRestore(string backupFileName, bool canRestore, bool execute = false, string targetDatabase = null)
{
string filePath = GetBackupFilePath(backupFileName);
return await VerifyRestore(new string[] { backupFileName }, canRestore, execute, targetDatabase);
}
private async Task<RestorePlanResponse> VerifyRestore(string[] backupFileNames, bool canRestore, bool execute = false, string targetDatabase = null, string[] selectedBackupSets = null)
{
var filePaths = backupFileNames.Select(x => GetBackupFilePath(x));
string backUpFilePath = filePaths.Aggregate((current, next) => current + " ," + next);
using (SelfCleaningTempFile queryTempFile = new SelfCleaningTempFile())
{
TestConnectionResult connectionResult = await LiveConnectionHelper.InitLiveConnectionInfoAsync("master", queryTempFile.FilePath);
@@ -172,15 +241,17 @@ namespace Microsoft.SqlTools.ServiceLayer.IntegrationTests.DisasterRecovery
RestoreDatabaseHelper service = new RestoreDatabaseHelper();
var request = new RestoreParams
{
BackupFilePath = filePath,
DatabaseName = targetDatabase,
OwnerUri = queryTempFile.FilePath
BackupFilePaths = backUpFilePath,
TargetDatabaseName = targetDatabase,
OwnerUri = queryTempFile.FilePath,
SelectedBackupSets = selectedBackupSets
};
var restoreDataObject = service.CreateRestoreDatabaseTaskDataObject(request);
var response = service.CreateRestorePlanResponse(restoreDataObject);
Assert.NotNull(response);
Assert.False(string.IsNullOrWhiteSpace(response.RestoreSessionId));
Assert.Equal(response.CanRestore, canRestore);
if (canRestore)
{
@@ -193,11 +264,18 @@ namespace Microsoft.SqlTools.ServiceLayer.IntegrationTests.DisasterRecovery
if(execute)
{
request.SessionId = response.RestoreSessionId;
restoreDataObject = service.CreateRestoreDatabaseTaskDataObject(request);
Assert.Equal(response.RestoreSessionId, restoreDataObject.SessionId);
await DropDatabase(targetDatabase);
Thread.Sleep(2000);
request.RelocateDbFiles = response.RelocateFilesNeeded;
service.ExecuteRestore(restoreDataObject);
Assert.True(restoreDataObject.Server.Databases.Contains(targetDatabase));
if(selectedBackupSets != null)
{
Assert.Equal(selectedBackupSets.Count(), restoreDataObject.RestorePlan.RestoreOperations.Count());
}
await DropDatabase(targetDatabase);
}
}
@@ -230,8 +308,15 @@ namespace Microsoft.SqlTools.ServiceLayer.IntegrationTests.DisasterRecovery
private string GetBackupFilePath(string fileName)
{
FileInfo inputFile = GetBackupFile(fileName);
return inputFile.FullName;
if (!Path.IsPathRooted(fileName))
{
FileInfo inputFile = GetBackupFile(fileName);
return inputFile.FullName;
}
else
{
return fileName;
}
}
protected DisasterRecoveryService CreateService()
@@ -247,5 +332,56 @@ namespace Microsoft.SqlTools.ServiceLayer.IntegrationTests.DisasterRecovery
return CreateProvider()
.RegisterSingleService(new DisasterRecoveryService());
}
public async Task<string> CreateBackupFile()
{
using (SelfCleaningTempFile queryTempFile = new SelfCleaningTempFile())
{
SqlTestDb testDb = await SqlTestDb.CreateNewAsync(TestServerType.OnPrem, false, null, null, "RestoreTest");
var liveConnection = LiveConnectionHelper.InitLiveConnectionInfo(testDb.DatabaseName, queryTempFile.FilePath);
// Initialize backup service
DatabaseTaskHelper helper = AdminService.CreateDatabaseTaskHelper(liveConnection.ConnectionInfo, databaseExists: true);
SqlConnection sqlConn = DisasterRecoveryService.GetSqlConnection(liveConnection.ConnectionInfo);
// Get default backup path
BackupConfigInfo backupConfigInfo = DisasterRecoveryService.Instance.GetBackupConfigInfo(helper.DataContainer, sqlConn, sqlConn.Database);
string backupPath = Path.Combine(backupConfigInfo.DefaultBackupFolder, testDb.DatabaseName + ".bak");
BackupInfo backupInfo = CreateBackupInfo(testDb.DatabaseName,
BackupType.Full,
new List<string>() { backupPath },
new Dictionary<string, int>() { { backupPath, (int)DeviceType.File } });
var backupParams = new BackupParams
{
OwnerUri = liveConnection.ConnectionInfo.OwnerUri,
BackupInfo = backupInfo
};
// Backup the database
BackupOperation backupOperation = DisasterRecoveryService.Instance.SetBackupInput(helper.DataContainer, sqlConn, backupParams.BackupInfo);
DisasterRecoveryService.Instance.PerformBackup(backupOperation);
// Clean up the database
testDb.Cleanup();
return backupPath;
}
}
private BackupInfo CreateBackupInfo(string databaseName, BackupType backupType, List<string> backupPathList, Dictionary<string, int> backupPathDevices)
{
BackupInfo backupInfo = new BackupInfo();
backupInfo.BackupComponent = (int)BackupComponent.Database;
backupInfo.BackupDeviceType = (int)BackupDeviceType.Disk;
backupInfo.BackupPathDevices = backupPathDevices;
backupInfo.BackupPathList = backupPathList;
backupInfo.BackupsetName = "default_backup";
backupInfo.BackupType = (int)backupType;
backupInfo.DatabaseName = databaseName;
backupInfo.SelectedFileGroup = null;
backupInfo.SelectedFiles = "";
return backupInfo;
}
}
}

View File

@@ -0,0 +1,53 @@
//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
//
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlTools.ServiceLayer.DisasterRecovery.Contracts;
using Microsoft.SqlTools.ServiceLayer.DisasterRecovery.RestoreOperation;
using Xunit;
namespace Microsoft.SqlTools.ServiceLayer.UnitTests.DisasterRecovery
{
public class DatabaseFileInfoTests
{
[Fact]
public void DatabaseFileInfoConstructorShouldThrowExceptionGivenNull()
{
Assert.Throws<ArgumentNullException>(() => new DatabaseFileInfo(null));
}
[Fact]
public void DatabaseFileInfoShouldReturnNullGivenEmptyProperties()
{
LocalizedPropertyInfo[] properties = new LocalizedPropertyInfo[] { };
var fileInfo = new DatabaseFileInfo(properties);
Assert.True(string.IsNullOrEmpty(fileInfo.Id));
Assert.True(string.IsNullOrEmpty(fileInfo.GetPropertyValueAsString(BackupSetInfo.BackupComponentPropertyName)));
}
[Fact]
public void DatabaseFileInfoShouldReturnValuesGivenValidProperties()
{
LocalizedPropertyInfo[] properties = new LocalizedPropertyInfo[] {
new LocalizedPropertyInfo
{
PropertyName = "name",
PropertyValue = 1
},
new LocalizedPropertyInfo
{
PropertyName = DatabaseFileInfo.IdPropertyName,
PropertyValue = "id"
}
};
var fileInfo = new DatabaseFileInfo(properties);
Assert.Equal(fileInfo.Id, "id");
Assert.Equal(fileInfo.GetPropertyValueAsString("name"), "1");
}
}
}

View File

@@ -0,0 +1,33 @@
//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
//
using Microsoft.SqlTools.ServiceLayer.DisasterRecovery.Contracts;
using Xunit;
namespace Microsoft.SqlTools.ServiceLayer.UnitTests.DisasterRecovery
{
public class LocalizedPropertyInfoTests
{
[Fact]
public void PropertyDisplayNameShouldReturnNameWhenNotSet()
{
LocalizedPropertyInfo propertyInfo = new LocalizedPropertyInfo();
propertyInfo.PropertyName = "name";
Assert.Equal(propertyInfo.PropertyDisplayName, propertyInfo.PropertyName);
}
[Fact]
public void PropertyValudDisplayNameShouldReturnValudWhenNotSet()
{
LocalizedPropertyInfo propertyInfo = new LocalizedPropertyInfo();
propertyInfo.PropertyName = "name";
propertyInfo.PropertyValue = "value";
Assert.Equal(propertyInfo.PropertyValueDisplayName, propertyInfo.PropertyValue);
}
}
}

View File

@@ -48,7 +48,7 @@ namespace Microsoft.SqlTools.ServiceLayer.UnitTests.ObjectExplorer
defaultConnParams = new ConnectionCompleteParams()
{
ServerInfo = defaultServerInfo,
ConnectionSummary = defaultConnectionDetails,
ConnectionSummary = defaultConnectionDetails != null ? ((IConnectionSummary)defaultConnectionDetails).Clone(): null,
OwnerUri = defaultOwnerUri
};
@@ -119,6 +119,7 @@ namespace Microsoft.SqlTools.ServiceLayer.UnitTests.ObjectExplorer
// But given a server node for a cloud DB that's not master
defaultConnectionDetails.DatabaseName = "NotMaster";
defaultConnParams.ConnectionSummary.DatabaseName = defaultConnectionDetails.DatabaseName;
node = new ServerNode(defaultConnParams, ServiceProvider);
// Then expect label to include db name