Encrypt an existing SQL Server table column - sql-server

Is there a way I can encrypt an existing column in a SQL Server table without changing any other systems which uses this column? I am on SQL Server 2005.
I guess it's possible in Oracle like this (after enabling Transparent Data Encryption)
ALTER TABLE employees
MODIFY (salary ENCRYPT USING '3DES168');

You can encrypt the data using PHP functions or any other scripting library functions and store them in the MySQL database. I hope this helps.

Related

Apply TDE on database SQL Server success, but later show not encrypted

I would like to ask about encryption M.S SQL Server 2016.
I have applied encryption on database production long time, but a few months later
It show status not encrypted.
What happen to it?
Note
Table sys.dm_database_encryption_keys" no database in this table
Table sys.certificates" have certificate name
Table sys.databases" have database name in this table
Thank you so much for your kindly help.

how to insert encrypted column data in SQL Server / SQL Azure

I have 2 (DB1,DB2) databases in SQL Azure.
DB1.Customer
DB2.Customer
Each has column called Surname which is column encrypted.
I want to insert records from DB1.Customer to DB2.Customer. I initially tried a Data Compare tool, but it omitted the encrypted column ie "Surname". Is my only way to do this, is to decrypt "Surname", recompare, insert data, re-encrypt "Surname" column for both DBs, or is there another way to avoid decryption.
I have also tried:
1) SSMS / Tasks/ Generate Scripts / Advanced / Data only but the encrypted data is shown as "binary" in the SQL.
Thanks in advance.
I think this is refer to Migrate Sensitive Data Protected by Always Encrypted.
The following table shows the recommended settings appropriate for several migration scenarios.
Hope this helps.

Unable to migrate data from sql server to aurora Mysql DB using AWS data migration service

I am unable migrating data from SQL server to aurora MySQL DB using AWS DMS service. Currently, I have a different number of columns for a particular table in MySQL DB due to which I am unable to transfer data from SQL server to aurora MySQL DB.
Please check the below image for reference.
As the picture suggests, I want to transfer data from booking table in SQL server to booking table in aurora Mysql DB having less number of columns.
Can anyone suggest a way to do it?
There may be a way to cope with this directly from AWS without having to change your schema. But, one option here would be to simply create a table in MySQL which matches the column/type count of the counterpart in SQL Server, i.e.
CREATE TABLE booking (bookingID int, bookingVersion int, ...) -- 7 columns
Then, migrate the data from SQL Server to MySQL using the AWS tool. Finally, just drop the bookingVersion column from your MySQL table:
ALTER TABLE booking DROP COLUMN bookingVersion;
This should work, because all the extra DML steps I suggested can completely be done within MySQL, and don't involve your SQL Server database at all.

Oracle ODBC connection to SQL Server: Table Name Length Issues

I'm running into a problem when accessing a SQL Server table from an Oracle setup via ODBC.
I can access 90% of the tables absolutely fine, but there's a few tables that have a name that's longer than 30 characters. Whenever I try to interact with the table (describes, selects, etc) Oracle throws an "identifier too long" error and gives up.
Is there a way to coax Oracle into playing nice with the SQL Server tables?
Assuming that we are talking about an Oracle database that has a database link created to a SQL Server database via Heterogeneous Services, you would need to write code using the DBMS_HS_PASSTHROUGH package to interact with the tables in question. You'd also need to use this package if you have tables where there are column names that are not valid Oracle identifiers.

encrypt column in the table

I am just wondering if there is a MS technology which allow to transparently encrypt the column of table.
There is a symmetric/assymetric encription which allow to encrypt one column of the table. But this technology is not transparent for user applications. The application needs to open keys and use the ENCRYPTBYKEY/DECRYPTBYKEY functions.
There is TDE which allow to transparently encrypt the database, but it works with databases, backups and transaction log - not one column of database.
Is it possible to transparently encrypt one of the column in the table?
Unfortunately no, unless you implement it yourself.
In SQL Server 2008 TDE is implemented at the database level (no column is_encrypted in sys.databases), so it is the only way of doing it.

Resources