Показаны сообщения с ярлыком Sql. Показать все сообщения
Показаны сообщения с ярлыком Sql. Показать все сообщения

среда, 3 апреля 2024 г.

Restore, Backup, DataBase, Script, Sql

RESTORE DATABASE DbTrade2

FROM DISK = 'C:\path\to\your\backup.bak'

WITH REPLACE;


Шаг 1: Проверка прав доступа

Первым делом убедитесь, что у вашего пользователя есть необходимые права для записи в каталог данных. В Windows, каталог данных SQL Server обычно находится в C:\Program Files\Microsoft SQL Server\MSSQL<версия>.<имя_экземпляра>\MSSQL\DATA. Вам нужно иметь права на запись в этот каталог.

  1. Проверка прав доступа:
    • Откройте Проводник Windows и перейдите в каталог данных.
    • Щелкните правой кнопкой мыши на папке и выберите "Свойства".
    • Перейдите на вкладку "Безопасность" и проверьте, есть ли у вашего пользователя права на запись. Если нет, вам нужно будет изменить права доступа или использовать учетную запись с соответствующими правами.

Шаг 2: Использование командной строки для восстановления

Если у вас нет прав на запись в каталог данных или вы предпочитаете использовать командную строку, вы можете восстановить базу данных с помощью команды sqlcmd или osql. Это может быть полезно, если у вас есть права на запись в другой каталог.

  1. Открытие командной строки:
    • Нажмите Win + R, введите cmd и нажмите Enter.
  1. Восстановление базы данных:
    • Используйте следующую команду для восстановления базы данных из файла .bak в другой каталог, где у вас есть права на запись. Замените <путь_к_файлу_bak>, <имя_сервера>, <имя_базы_данных> и <путь_к_новому_каталогу> на соответствующие значения.
sqlcmd -S <имя_сервера> -Q "RESTORE DATABASE <имя_базы_данных> FROM DISK = '<путь_к_файлу_bak>' WITH MOVE '<имя_логического_имени_файла>' TO '<путь_к_новому_каталогу>\<имя_файла_базы_данных>.mdf', MOVE '<имя_логического_имени_файла_логики>' TO '<путь_к_новому_каталогу>\<имя_файла_базы_данных>.ldf'"
  • <имя_логического_имени_файла> и <имя_логического_имени_файла_логики> можно найти, выполнив следующий запрос в SSMS:
RESTORE FILELISTONLY FROM DISK = '<путь_к_файлу_bak>'

Шаг 3: Проверка настроек SQL Server

Если вы все еще сталкиваетесь с проблемами, проверьте настройки SQL Server:

  1. Проверка настроек SQL Server:
    • Откройте SQL Server Configuration Manager.
    • Перейдите в "SQL Server Services" и убедитесь, что служба SQL Server запущена.
    • Перейдите в "SQL Server Network Configuration" и проверьте, что протокол TCP/IP включен.

Заключение

Если после выполнения этих шагов проблема не решена, возможно, потребуется дополнительная диагностика. Убедитесь, что у вас есть права администратора на сервере или что вы используете учетную запись с соответствующими правами доступа.


четверг, 7 января 2021 г.

SQL, ulong, uint

 @markolbert Unsigned longs, ints, and shorts are not yet supported for SQL Server because the underlying ADO.NET provider for SQL Server ("a.k.a. SQL Client") does not support them. They can be used with other providers, such as SQLite. We plan to support them for SQL Server when type conversions are implemented. This is being tracked by issue #242. Closing this as a duplicate of that issue.

https://github.com/dotnet/efcore/issues/6480

These are the default conversions:

  • sbyte -> smallint
  • ushort -> int
  • uint -> bigint
  • ulong -> decimal(20, 0)
  • char -> nchar(1)

These can be used by changing the store type:

  • sbyte -> byte (not order preserving)
  • ushort -> short (not order preserving)
  • uint -> int (not order preserving)
  • ulong -> long (not order preserving)
  • char -> other string types of any size: char, nchar, varchar, nvarchar, text
  • char -> int



четверг, 17 октября 2019 г.

Predicate

https://stackoverflow.com/questions/14297633/c-sharp-pass-lambda-expression-as-method-parameter
public static void Method(Expression<Func<int, bool>> predicate) { 
    int[] number={1,2,3,4,5,6,7,8,9,10};
    var newList = from x in number
                  .Where(predicate.Compile()) //here compile your clausuly
                  select x;
                newList.ToList();//return a new list
    }
Calling method
Method(v => v.Equals(1));
public List<IJob> getJobs(/* i want to pass the lambda expr in here */) {
  using (SqlConnection connection = new SqlConnection(getConnectionString())) {
    connection.Open();
    return connection.Query<FullTimeJob, Student, FullTimeJob>(sql, 
      (job, student) => {         
        job.Student = student;
        job.StudentId = student.Id;
        return job;
        },
        splitOn: "user_id",
        param: parameters).ToList<IJob>();   
  }   
public string Name {get;set;}

public static List<Class> GetList(Expression<Func<Class, bool>> predicate)
    {
        List<Class> c = new List<Class>();
        c.Add(new Class("name1"));
        c.Add(new Class("name2"));

        var f = from g in c.
                Where (predicate.Compile())
                select g;
        f.ToList();

       return f;
    }
Calling method
Class.GetList(c=>c.Name=="yourname");